首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RegEx比我讨价还价的要匹配得多

RegEx比我讨价还价的要匹配得多
EN

Stack Overflow用户
提问于 2012-10-01 12:48:24
回答 1查看 56关注 0票数 1

我有一个正则表达式:CMD?(S?[1-8][0-1]|R?[1-8]|[qQ])

它应与这些案件相匹配:

所有病例应以"CMD“开头。

其次是:

  1. 后面跟着
    1. 1-8然后是
    2. 0-1

  1. 'R‘后面跟着
    1. 1-8

  1. 'q‘或'Q’

但我发现它也符合CMD[1-8][1-0],我不知道我做错了什么。

最后,我该怎么做才能得到除这些情况之外的所有正则表达式,因为我找不到否定这个说法的解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-01 12:52:14

您似乎混淆了?的含义,它实际上意味着“前面字符的0或1”。这就是为什么你在没有S的情况下得到比赛的原因。

你要找的是:

代码语言:javascript
运行
复制
CMD(S[1-8][01]|R[1-8]|[qQ])

编辑:

对不起,我错过了你问题的后半部分。

这取决于您使用的是什么实现。例如,在Perl中,编写!~而不是=~一样容易。否则,您可以使用所谓的“负前瞻性断言”。假设您仍然希望否定的系列以CMD开头

代码语言:javascript
运行
复制
CMD(?!S[1-8][01]|R[1-8]|[qQ])
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12673593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档