我在練習解析XML。Java正則表達式點與實際點字符(。)不匹配
我的一句話就是
<SINGER>I.O.I</SINGER> came back on <MONTH>May</MONTH> 4, <YEAR>2016</YEAR>.
我用兩個
Pattern.compile("<[^/^>.]+>[^<^>.]+</[^>.]+>");
和
Pattern.compile("<[^/^>.]+>[^<^>\\..]+</[^>.]+>");
然而,正則表達式不能匹配
<SINGER>I.O.I</SINGER>
我覺得我的正則表達式,因爲這些點的行爲怪異,因爲他們可以匹配
<SINGER>I-O-I</SINGER>
我該怎麼辦?
謝謝。
即使這是慣例,你要注意,這不是*有效* XML(所以它的如果你的目標是解析真正的XML),你不應該使用正則表達式來解析標記語言(XML,HTML,XHTML,* ML) – BackSlash
@BackSlash爲什麼它不是有效的XML? –
如果您正在處理XML,則應使用XML技術來完成此操作,例如XML解析器,XPath和XSLT。一般來說,正則表達式不足以適應XML。 – EJP