2
我的輸入是一個正則表達式,例如:[0-]\sbla\scd\s\^a
我想獲取不可更改的字符串。這個例子的輸出是:正則表達式解析
bla
cd
^a
有沒有人知道一個程序這樣做,源代碼會有幫助。 (它不是作業:)
我的輸入是一個正則表達式,例如:[0-]\sbla\scd\s\^a
我想獲取不可更改的字符串。這個例子的輸出是:正則表達式解析
bla
cd
^a
有沒有人知道一個程序這樣做,源代碼會有幫助。 (它不是作業:)
你應該看看正則表達式解析器的代碼。它會在解析時得到「不可更改」的字符串。如果它暴露解析樹,你可以擁有你想要的。這將是比寫自己的解析器更好...
嘗試的類似libregex :)
我的兩分錢的來源。
'a [b] c',應該返回'c'還是'abc'?那麼'ab {0} c'應該返回'c'還是'ac'? –
@Sebastian或'abc'因爲這是一個不可更改的字符串。或者'(ab){3}'應該是什麼,ab'或'ababab'? – tobyodavies
你也許可以根據具有特殊含義的字符對正則表達式進行拆分,然後將剩餘的令牌解析爲字符串。例如(而不是防彈)根據這個分割:'(?<!\\)(\ [。*?\] | \\ [abBdDefnrsStv] | \ x [\ dA-Fa-f] {2}^| \ $)' –