繁体   English   中英

正则表达式/2个相同的字母/ PHP

[英]Regular expression /2 same letter/ PHP

嘿,我正在寻找解决我在 PHP 上的问题的方法。 如何创建正则表达式来检查我是否从范围 [ac] 中得到两个相同的字母。无论以什么顺序。 只是检查是否正好有 2。

例如,我使用了它,但它不能像我想要的那样工作。

/a{2}b{2}c{2}/

正如您的最后一条评论所述,我认为您正在寻找这个:

^(?:([abc])\1)*$

解释:

^                # from start
(?:              # group without saving
    ([abc])          # group saving in $1 one of: 'a', 'b', or 'c'
    \1               # the same character saved in $1
)*               # repeat it as many as possible
$                # till the end

在这里查看直播

使用 反向引用,以便它必须两次匹配相同的字符。

/([abc])\1/

Regex101 示例

或者,对于多个反向引用:

/(a)\1(b)\2(c)\3/

或者

/(([abc])\1)*/

(如果您只需要逐字匹配“aabbcc”,那么您的正则表达式应该是/aabbcc/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM