正则表达式,用于测试匹配字符的数量

时间:2018-08-25 02:42:02

标签: regex

我正在尝试获取一个正则表达式,以测试字符串是否具有两个或多个字符列表,例如'i,j,k'

所以我的正则表达式是

[ijk]{2,}

如果字符是连续的,则正则表达式将匹配:

abcdefghijk

,但是如果还有其他散布在其中的字符,则不会:

abcdefghixjxk

和(i | j | k){2,}存在相同的问题

如何测试找到的总字符数,而不是连续发现的总字符数?

谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用正向先行检查是否再次出现:

[ijk](?=.*[ijk])

如果出现i,j或k后跟(.*)个其他字符之后又出现另一个字符,则此匹配。

修改

我猜想绝对不需要提前进行正面预测(更多的习惯习惯),您可以使用:

[ijk].*[ijk]