gpt4 book ai didi

regex - 组合正则表达式

转载 作者:行者123 更新时间:2023-12-01 11:05:55 25 4
gpt4 key购买 nike

如何组合正则表达式?

编辑:这是为了考试准备。问题是编写一个正则表达式来查找所有具有奇数个 a 和偶数个 b 的字符串?

即而不是 |对于 OR,我需要一种机制来模拟 AND

我有两个正则表达式:

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]*$

最佳答案

您可以使用 lookahead expressions 执行此操作(这里显示为冗长的正则表达式,因为它确实很难阅读,更多内容在一行中):

^                                   # 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

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

关于regex - 组合正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5965410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com