我正在尝试创建一个正则表达式,用于检查输入是否采用以下格式:
% word word number # % word word number # - OK
% word word # % word word # - OK
% word word word # % word word # - OK
% # %% word word # - NOT OK
因此%
和#
之间可能介于1-8 word
之间,且只有1个或number
,数字也必须在最后。
我不介意符号和文本之间的空格,或数字,只是之间的单词,所以
接受%word word#%word word#
或%word word number#%word word#
,但%wordword#%wordword#
或%wordwordnumber#%wordwordnumber#
不合适。
随意问我什么。
答案 0 :(得分:1)
我会建议这个正则表达式,使用i
修饰符使其不区分大小写:
^(%(\s*[a-z]+){1,8}\s*\d*\s*#\s*){2}$
注意:wordword
和word word
之间的差异是多余的:除非有一些规则来确定一个单词何时结束而不是出现非字母(如空格),{{ 1}}只是一个很长的wordword
。 word
模式只需一次抓取所有内容。