Gho*_*ica 1 regex context-free-grammar
我们有一些带有用户输入的字段;到目前为止,验证该内容的规则是[A-Z][A-Z0-9]{0,7}。含义:任何具有至少一个字符的大写单词;从角色开始;整个单词最多8个字符。
现在,我被告知我们也应该接受“尾随”空格。但当然-仅尾随空格。更新;第一个答案是错误的:整个单词的最大长度仍然是8个字符!因为这正是促使我提出这个问题的要点。
我猜这可以用两个表达式检查:
a)[A-Z][A-Z0-9 ]{0,7}必须匹配输入,
b)[ ][A-Z0-9]必须不匹配输入
(第二个表达式只是查找任何“非跟踪”空间)
但是,还有一个可用于检查这种情况的正则表达式吗?
还是在这种情况下,虽然运气好-正则表达式只接受上下文无关的语法?
如果只允许尾随空格,请使用:
^[A-Z][A-Z0-9]{0,7} *$
Run Code Online (Sandbox Code Playgroud)
要么:
^[A-Z][A-Z0-9]{0,7}\h*$
Run Code Online (Sandbox Code Playgroud)
这\h*是水平空格,仅在末尾匹配0或空格或制表符。
编辑:基于已编辑的问题,您可以使用基于前瞻的正则表达式:
^(?=[A-Z0-9\h]{1,8}$)[A-Z][A-Z0-9]*\h*$
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
171 次 |
| 最近记录: |