首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >排除模式"abba“的字符串

排除模式"abba“的字符串
EN

Stack Overflow用户
提问于 2014-04-05 14:37:37
回答 2查看 2.6K关注 0票数 7

例如,我想不包括“拟合”、“空心”、“万亿”

但不是“你好”或“模式”

我已经有以下工作要做了

代码语言:javascript
复制
(.)(.)\2\1

与“空心”或“合适”相配,但我很难否定。

我得到的最接近的东西是

代码语言:javascript
复制
^.(?!(.)(.)\2\1)

这不包括“拟合”和“空心”,但不包括“万亿”

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-05 15:05:14

这和你现在的情况有点不同。当前的正则表达式将检查苍白性(?)从第二个角色开始。由于您希望检查整个字符串,因此需要将其更改为:

代码语言:javascript
复制
^(?!.*(.)(.)\2\1)

第一个锚点将确保只在开始时进行检查(否则,regex可以在字符串末尾声明匹配)。

然后,负查找范围内的.*将允许在字符串中的任何位置执行检查。如果有匹配,就把整场比赛都输掉。

票数 4
EN

Stack Overflow用户

发布于 2014-04-05 14:43:46

它与万亿不匹配,因为您添加了^.,意味着它必须在匹配开始之前就有一个字符。对于前两种情况,它具有hf字符。因此,如果您将其转换为^..(?!(.)(.)\2\1),那么它将适用于trillion

一般情况下,准则是:

代码语言:javascript
复制
(?!.*(.)(.)\2\1)
   ^^ any number of characters(other than \n)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22882253

复制
相关文章

相似问题

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