正则表达式匹配属性值

时间:2010-06-15 15:02:10

标签: regex

正则表达式将从此原始标记返回'details.jsp'(不带引号!)。我可以非常轻松地匹配所有value =“details.jsp”,但是在匹配属性中的内容时遇到了麻烦。

<s:include value="details.jsp" />

任何帮助都非常感谢!

由于

劳伦斯

1 个答案:

答案 0 :(得分:5)

/value=["']([^'"]+)/会将“details.jsp”放在第一个捕获组中。

修改

回应ircmaxell的评论,如果你真的需要它,下面的表达式会更灵活:

/value=(['"])(.+)\1/

它会匹配<s:include value="something['else']">之类的内容,但请注意该值将放在第二个捕获组中。

但正如前面提到的,正则表达式不是你想要用来解析XML的东西(除非它是一个非常简单的例子),所以当你应该使用解析器时,不要在复杂的正则表达式上投入太多时间。