如何使用正则表达式来匹配两个变量的相等性?

时间:2012-08-23 19:01:29

标签: regex

我有这样的行:

1/1
3/5
5/5
7/10

有没有办法匹配左边的数字与右边的数字匹配的行?

也就是说,我需要匹配第1/1和第5/5行。

3 个答案:

答案 0 :(得分:6)

您可以使用backreference

^(\d+)/\1$

答案 1 :(得分:2)

这应该可以解决问题:

^(\d+)/\1$

我们匹配组中的1位或更多位数,然后坚持它们也出现在斜杠之后。

答案 2 :(得分:0)

假设match.txt包含您的输入,并且您在bash shell中,

cat match.txt | sed -e 's+\(.*\)/\(.*\)+if [ \1 = \2 ]; then echo \1/\2; fi+' | sh