首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式匹配*abc*而不是*bc*abc*bc*

正则表达式匹配*abc*而不是*bc*abc*bc*
EN

Stack Overflow用户
提问于 2013-11-29 15:48:43
回答 2查看 775关注 0票数 3

我试图找到一个正则表达式来匹配所有字符的组合,这些字符具有字符串“问号”,但没有或包含字符串"ion“。

例子:

questionxxxx ------> match

xxxquestion--------> match

questionxxxxion----> not match

xxxquestionxxx-----> match

xxxionxxxquestion--> not match

我快到了,但我错过了什么!

这就是我所做的:

((?=.*question(?!.*ion.*).).*)|^question$

这个表达式排除了与"quest“分隔的所有带有"ion”的字符串,但不幸的是也排除了“xxx问答”。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-29 15:55:47

我不知道您需要这个解决方案有多普遍,但是下面的例子适用于您:

代码语言:javascript
复制
(?!.*(?<!quest)ion)^.*question.*$

RegExr Example

票数 5
EN

Stack Overflow用户

发布于 2013-11-29 16:01:12

使用与perl兼容的regex,您可以使用以下命令:

代码语言:javascript
复制
^(?:(question)|[^i]+|i(?!on))+(?(1)|(?!))$

对于其他regex口味,您可以使用以下内容:

代码语言:javascript
复制
^(?:[^qi]+|q(?!uestion)|i(?!on))*question(?:[^i]+|i(?!on))*$
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20289338

复制
相关文章

相似问题

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