正則表達式會從此原始標記返回'details.jsp'(不含引號!)會怎樣?我可以很容易地匹配value =「details.jsp」的所有內容,但是在匹配屬性內的內容時遇到了麻煩。正則表達式匹配屬性值
<s:include value="details.jsp" />
任何幫助非常感謝!
感謝
勞倫斯
正則表達式會從此原始標記返回'details.jsp'(不含引號!)會怎樣?我可以很容易地匹配value =「details.jsp」的所有內容,但是在匹配屬性內的內容時遇到了麻煩。正則表達式匹配屬性值
<s:include value="details.jsp" />
任何幫助非常感謝!
感謝
勞倫斯
/value=["']([^'"]+)/
將使 「details.jsp」 第一個捕獲小組。
編輯:
針對ircmaxell的評論,如果你真的需要它,下面的表達式更加靈活:
/value=(['"])(.+)\1/
它會匹配<s:include value="something['else']">
的事情,但只要注意該值將被放置在第二個捕獲組中。
但正如前面提到的,正則表達式不是你想用於解析XML的東西(除非它是一個非常簡單的情況),所以當你應該使用解析器時,不要花費太多時間在複雜的正則表達式上。
不要使用REGEX來解析XML/HTML。爲此使用XML解析器。其次,你可以發佈你的正則表達式不起作用嗎? – ircmaxell 2010-06-15 15:05:36
看到相關答案: http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – huitseeker 2010-07-07 10:40:34