0
當我從文字正則表達式構建模式並從文件中讀取正則表達式時,爲什麼我沒有得到相同的行爲? (?十一)REGEX中字符的替代表示
String regex = "(?xi)(title)[\\.:;](.*) \043 Title property";
Pattern pattern = Pattern.compile(regex);
System.out.println(pattern);
// will print:
(標題):;](。*)#Title屬性
這個表達式工作然而,當我試圖從文件中讀取我的正則表達式遇到問題。 '\ 043'不會被替換爲正確的形式。爲什麼這樣?
我試圖避免使用文字'#'字符符號,從而使用和替代表示,因爲我的代碼中的其他衝突。
該文件字面上包含'\ 043'?在源代碼中,這被編譯器取代。從運行時的任何位置讀取它時都不會有這種行爲。 –
你爲什麼要避免#? –
如果你不想使用'#',那麼使用'\ u0023'。請提供[MCVE(最小完整可驗證示例)](http://stackoverflow.com/help/mcve)。我懷疑你的輸入中沒有'#'。 –