字符串中的两个或多个字母

时间:2019-04-25 17:29:57

标签: regex

我正在努力找到解决此问题的方法:

给出以下字母{a,b}上的英语句子的正则表达式: 所有包含两个或多个“ a”的字符串。

我知道如何找到2个或更多的“ a”,但不确定如何将其包含在由“ a”和“ b”组成的另一个字符串中。

aa(aa)*

2 个答案:

答案 0 :(得分:1)

这是您编写包含ab数目为两个或更多的a^(?:b*ab*){2,}$ 的正则表达式的方法。

transition

Regex Demo

让我知道这是否是您想要的。

答案 1 :(得分:0)

执行此操作的更快,更优选的方法:

^b*ab*a[ab]*$

基准

Regex1:   ^b*ab*a[ab]*$
Options:  < m >
Completed iterations:   50  /  50     ( x 1000 )
Matches found per iteration:   3
Elapsed Time:    0.21 s,   205.99 ms,   205989 µs
Matches per sec:   728,194


Regex2:   ^(?:b*ab*){2,}$
Options:  < m >
Completed iterations:   50  /  50     ( x 1000 )
Matches found per iteration:   3
Elapsed Time:    0.33 s,   327.00 ms,   326998 µs
Matches per sec:   458,718