首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >组合正则表达式

组合正则表达式
EN

Stack Overflow用户
提问于 2011-05-11 21:54:58
回答 1查看 352关注 0票数 3

如何组合正则表达式?

编辑:此选项用于备考。问题是编写一个正则表达式来查找a的奇数和b的偶数的所有字符串?

也就是说,我需要一种机制来模拟AND,而不是| OR

我有两个正则表达式:

代码语言:javascript
复制
1) to find odd number of a's:

^[^a]*a([^a]*a[^a]*a)*[^a]*$

2) to find even number of b's:

^([^b]*b[^b]*b)*[^b]*$
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-11 22:02:31

您可以使用lookahead expressions (这里显示为一个详细的正则表达式,因为它真的很难读,更多的是在一行中):

代码语言:javascript
复制
^                                   # start of string
(?=(?:(?:[^a]*a){2})*[^a]*$)        # assert an even number of as
(?=[^b]*b(?:(?:[^b]*b){2})*[^b]*$)  # assert an odd number of bs
.*                                  # match anything
$                                   # end of string

最后两行可以删除,如果您只是验证-它们只是匹配整个字符串。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5965410

复制
相关文章

相似问题

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