捕獲組在一些文字,我需要找到這可能是followning之一向引用在VIM
foo#foo%foo
foo#foo%bar
foo#bar%foo
foo#bar%bar
bar#foo%foo
bar#foo%bar
bar#bar%foo
bar#bar%bar
一個字符串我可以寫正則表達式匹配這樣
/\(foo\|bar\)#\(foo\|bar\)%\(foo\|bar\)
工作正常。我想避免在匹配器中重複捕獲組。
如果我喜歡寫東西
/\(foo\|bar\)#\1%\1
它只是首輪比賽,我在一開始提到的最後一個可能的字符串。
問:我可以參考前一個捕獲組本身,而不是之前的匹配嗎?
不,這不是多麼正則表達式的工作。 – lcd047
@ lcd047:有許多正則表達式方言。這不是Vim正則表達式的工作方式。你可以在Oniguruma(Ruby的正則表達式引擎)中做到這一點,例如([rubular](http://rubular.com/r/DR9vxPA3cv)) – Amadan
@Amadan你也可以用[perl regexps](https:// regex101.com/r/aD2cM0/1),以及其他許多人。不過,我相信OP的問題是關於Vim的。在帖子的標題中提到了Vim,這使得它很難錯過。是否有任何特別的理由從我的回答中推斷出我指的是Vim正則表達式的其他任何內容? – lcd047