我需要一个验证MasterFormat分类字符串的方法,该字符串由一组数字和一个标题字符串组成。
字符串开头的数字必须是:
由空格分隔的3组2位数字:
09 68 13
最后一组数字也可以是十进制:
09 68 13.36
然后是一个空间
然后用一串单词表示标题,每个单词的第一个字母大写
09 68 13 Tile Carpeting
09 68 13.36 Tile Carpeting
我有一个似乎有效的开始,但我似乎无法正确添加字符串。
d{2}sd{2}sd{2}(.d{2}){0,1}
这将在Laravel规则中得到验证。
您可以使用
^d{2}sd{2}sd{2}(?:.d{2})?s+p{Lu}p{L}*(?:s+p{Lu}p{L}*)*s*$
请参阅regex演示详细信息:
^
-字符串的开头d{2}sd{2}sd{2}
-两位数、空白、两位数、空格、两位数(?:.d{2})?
-一个可选的非捕获组,匹配.
的1或0次出现,然后匹配两个数字s+
-1+空白p{Lu}p{L}*
-后面跟着0+个字母的大写字母(?:s+p{Lu}p{L}*)*
-0次或多次出现1+个空格,后跟一个大写字母,后跟0+个字母s*
-0+空白$
—字符串结束