给定以下内容:
1. foo
2. foo:asc
3. foo:desc
4. foo:
5. foo:burp
我想匹配一个字符序列和一个可选的第二个序列,仅当以:为前缀且为asc或desc时
我应该匹配:
1. group 0 = foo, group 1 = <empty>
2. group 0 = foo, gorup 1 = asc
3. group 0 = foo, gorup 1 = desc
4. should fail
5. should fail
我尝试过:
[^:]+:?(\basc\b|\bdesc\b)?
但是它没有按预期工作
您可以使用
^[^:]+(?::\b(asc|desc)\b)?$
参见正则表达式演示
细节
^
-字符串开始[^:]+
-1个或多个字符以外的字符 :
(?::\b(asc|desc)\b)?
-的可选事件
:
-冒号\b(asc|desc)\b
-一个asc
或desc
整个词$
-字符串结尾。本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句