MasterFormat 分类正则表达式

我需要一个方法来验证 MasterFormat 分类字符串,该字符串由一组数字和标题字符串组成。

字符串开头的数字必须是:

3 组 2 位数字,以空格分隔:

09 68 13

最后一组数字也可以是小数:

09 68 13.36

后面跟一个空格

然后是一串单词来代表标题,每个单词的第一个字母要大写

09 68 13 Tile Carpeting

09 68 13.36 Tile Carpeting

我有一个似乎有效的开始,但我似乎无法正确添加单词字符串。

\d{2}\s\d{2}\s\d{2}(\.\d{2}){0,1}

这将在 Laravel 规则中进行验证。


慕莱坞森
浏览 90回答 1
1回答

人到中年有点甜

您可以使用^\d{2}\s\d{2}\s\d{2}(?:\.\d{2})?\s+\p{Lu}\p{L}*(?:\s+\p{Lu}\p{L}*)*\s*$请参阅正则表达式演示。详情:^- 字符串的开头\d{2}\s\d{2}\s\d{2}- 两位数,空格,两位数,空格,两位数(?:\.\d{2})?- 可选的非捕获组,匹配 1 次或 0 次出现的 a .,然后是两个数字\s+- 1+ 空格\p{Lu}\p{L}*- 一个大写字母后跟 0 个以上字母(?:\s+\p{Lu}\p{L}*)*- 0 次或多次出现 1 个以上空格,后跟一个大写字母,后跟 0 个以上字母\s*- 0+ 空格$- 字符串末尾。
打开App,查看更多内容
随时随地看视频慕课网APP