是否有用於計算匹配組的正則表達式轉義代碼?Sublime Text 2中替換字符串的正則表達式計數
如更換:
foo
foo
foo
隨着:
foo x 3
搜索:((富)\ n)的+
替換: $ 2×?? \ n
是否有用於計算匹配組的正則表達式轉義代碼?Sublime Text 2中替換字符串的正則表達式計數
如更換:
foo
foo
foo
隨着:
foo x 3
搜索:((富)\ n)的+
替換: $ 2×?? \ n
我不認爲你可以單獨使用正則表達式。下面是在Javascript中的例子:
var myText = "foo\nfoo\nfoo";
var line = myText.match(/(.+)(?=\r?\n\1$)/mg)[0];
var re = new RegExp(line + "\r?\n(?=" + line + "$)","mg");
myText = line + " x " + (myText.match(re).length + 1);
結果:
foo x 3
如果你想這樣做,在多個值,比如 「富\ nfoo \ nfoo \ NBAR \ NBAR」 那麼我建議你分裂首先將字符串轉換爲數組。
是的,這是我如何用C#做的:http://ideone.com/57JvkF但是,我試圖只是在我的文本編輯器中清理日誌文件(Sublime Text 2)。謝謝無論如何,也許這將幫助別人,如果他們正在使用Java –
好的,所以你現在有一個解決方案? – Pillowcase
可能沒有解決方案...我知道正則表達式跟蹤捕獲,並且有基於計數的匹配語法,使用{COUNT},例如((foo)\ n){3}來匹配3個實例該組。所以我很好奇,如果有一種方法,我不知道如何在替換表達式中獲得該數量,而無需額外的邏輯或lambda表達式。 –
你是什麼意思'$ 2 x ?? \ n'? –
@ shiplu.mokadd.im OP正在尋找用'{token} xn'替代__n__某個標記的實例。 – Mathletics
Right,尋找相當於: 'string.Format(「{0} x {1} \ n」, match.Groups [2] .Value,match.Groups [1] .Captures.Count)' –