Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 匹配字符串的正则表达式_Regex_String - Fatal编程技术网

Regex 匹配字符串的正则表达式

Regex 匹配字符串的正则表达式,regex,string,Regex,String,我正在尝试编写一个正则表达式,它将匹配任何像这样的字符串:AA-12-DF-AA 匹配字符串将包含以下部分: 两个大写字母相同的字符两次 两位数 两个大写字母,但与第一部分不同 另外两个大写字母,与第一部分匹配 所有部分用“-”分隔 e、 g这是有效字符串: BB-43-DF-BB CC-99-DD-CC XX-21-AB-XX 你可以试试下面的正则表达式 ^(([A-Z])\2)-\d{2}-(?:(?!\1)[A-Z]){2}-\1$ 试试这个。它满足所有条件。参见演示 这将完成以下

我正在尝试编写一个正则表达式,它将匹配任何像这样的字符串:AA-12-DF-AA

匹配字符串将包含以下部分:

两个大写字母相同的字符两次 两位数 两个大写字母,但与第一部分不同 另外两个大写字母,与第一部分匹配 所有部分用“-”分隔

e、 g这是有效字符串:

BB-43-DF-BB 
CC-99-DD-CC 
XX-21-AB-XX

你可以试试下面的正则表达式

^(([A-Z])\2)-\d{2}-(?:(?!\1)[A-Z]){2}-\1$
试试这个。它满足所有条件。参见演示

这将完成以下工作:

^(([A-Z])\2)-\d{2}-(?:(?!\1)[A-Z]){2}-\1$

你错了:在你的情况下,AB-32-CK-AB也会匹配,并且前2个字符必须是sameyes,请参见第三条规则。两个大写字母,但与第一部分不同?我的意思是它不应该匹配,但它确实匹配,我已经尝试过你的演示为什么它不应该匹配?@Georgeggarchagudashvili谢谢更新。。你能把投票结果回复过来吗,因为现在它是正确的。从这两个XX-21-XX-XX,XX-21-AX-XX中,你想匹配哪一个?第二个XX-21-AX-XX为什么这个XX-21-BX-XX不匹配?所以BX不同于XX是的,让我们问问他,他是说我是真的,我没有这样做;但是如果有人这样做了,他不能在行动结束几分钟后取消它,所以如果你更正了答案,有时可能会很晚看到op的评论这也符合AA-24-AA-AA,但不应该t@AvinashRaj:当然,这是我第一次尝试后得到的结果,有人投了反对票。我们提出同样的答案是很自然的,但别担心,我已经给了你们一票。
^(([A-Z])\2)-\d{2}-(?:(?!\1)[A-Z]){2}-\1$