我有一個標記文件,它可能有如下記錄表達式#定期以下
<test> <code> abcd </code> </test>
<test> efgh </test>
我如何提取一塊測試標籤的同時..這意味着我要提取的測試標籤在上述兩種情況下,是否具有唯一內容或其他嵌套的標籤太...
我有一個標記文件,它可能有如下記錄表達式#定期以下
<test> <code> abcd </code> </test>
<test> efgh </test>
我如何提取一塊測試標籤的同時..這意味着我要提取的測試標籤在上述兩種情況下,是否具有唯一內容或其他嵌套的標籤太...
嘗試正則表達式:
"\\bstart-tag:test\\s+(.*?)\\s+end-tag:test\\b"
重要的一點是,她?
e意味着匹配不應該是貪婪的,否則它可以捕獲多個標籤。
@Pan:編輯您的問題! – 2010-11-05 20:52:13
嘗試
Pattern regex = Pattern.compile("<test>(.*?)</test>", Pattern.DOTALL);
這將會失敗,不過,如果<test>
標籤本身可以被嵌套(<test> ... <test>...</test> ... </test>
)。
?
使前面的*
量詞懶惰,即。即它將匹配儘可能少的字符,因此一次只能匹配一個標籤。
Tim,*非常好*,用於在最小匹配時正確記錄故障模式。人們總是犯錯。解決問題的方法是使用'(?xs)
即使您不明白StackOverflow上的格式,至少也要嘗試在問題的純文本版本中編寫所有必要的信息,以便其他人可以爲您正確格式化它。 – 2010-11-05 20:46:14
要正確格式化,請編輯您的文章,突出顯示您想要格式化的內容,然後單擊帶有0和1的按鈕(代碼按鈕)。或者用4個空格縮進(並確保在它之前有一個空行)。 – 2010-11-05 20:47:05
我現在編輯它,如果我錯了,或者如果你需要澄清更多,進一步編輯它。 – 2010-11-05 20:48:42