所以我有例如表達式,它有三個部分,例如: 123.XY12345.123 如何檢查第一部分(123)是否與第三部分(123)相同)? 我試過這樣的:正則表達式檢查部分是否相同
\[0-9]{3}[/.][a-zA-Z]{2}[0-9]{5}[/.] _____ (here no idea)
所以我有例如表達式,它有三個部分,例如: 123.XY12345.123 如何檢查第一部分(123)是否與第三部分(123)相同)? 我試過這樣的:正則表達式檢查部分是否相同
\[0-9]{3}[/.][a-zA-Z]{2}[0-9]{5}[/.] _____ (here no idea)
您可以使用反向引用。反向引用可用於解決先前捕獲的模式的內容 - 模式本身。 \1
解決了組\1
等的內容。但需要注意的是,如果你已抓獲小於10
組,\11
將指向捕獲組1
加上文字1
像這樣的內容:
$a = "123_abc_123";
if($a =~ /(\d+)_abc_\1/) {
print "yes";
} else {
print "no";
}
$a = "123_abc_456";
if($a =~ /(\d+)_abc_\1/) {
print "yes";
} else {
print "no";
}
你可以試試這個:
^(\d+)\..*\.\1$
\1
與第1個捕獲組最近匹配的文本相同。
輸入:
123.XY12345.123