正则表达式:检查某个枢轴字符左侧的字符串是否等于枢轴右侧的字符串

时间:2013-04-03 07:34:15

标签: c# .net regex

我想编写一个正则表达式来检查左右部分(相对于某个枢轴字符)是否相等,例如。

m2/m2 - >是

m3/m2 - >无

如何编写一个正则表达式来检查枢轴字符左侧的捕获是否等于右边?

2 个答案:

答案 0 :(得分:1)

我不确定C#语法,但以下适用于Python和perl:

([^/]+)/\1

\1引用第一个捕获组并匹配在那里捕获的任何内容。

答案 1 :(得分:1)

这样的事情应该有效:

/(\w*)\/\1\b/g

这将匹配字符串中的m1 / m1,无论其大小如何(请注意,它不会被m1 / m11欺骗,但在第二个单词后需要一个空格)。
如果你的字符串只是像m1 / m1那样,那就更好了:

/^(\w*)\/\1$/

在C#中:new Regex(@"^(.*?)/\1$")