2014-04-26 73 views
2

這甚至可能使用Regex做到:使用正則表達式匹配之前的比賽

例如,我有2個字符串 「helhelhel」和「helhalhal

隨着正則表達式([a-z]{3})+我可以匹配兩個。

但我想表達的,其中

  • 第一個字符串將匹配 - 因爲第一場比賽「HEL」重複3次*
  • 而第二個不匹配 - 因爲第一匹配是 「HEL」 和第二&第三是不同的, 「HAL

回答

0

您可以使用反向引用來匹配先前由正則表達式匹配的文本。爲了做到這一點,你需要使用正則表達式提供的緩衝區。 ([a-z]{3})\1將匹配三個字母單詞重複兩次。 這將匹配haihai,但不匹配haihui

符號()將其內容存儲到正則表達式提供的緩衝區中。 \1指的是這個緩衝區的內容。