属性我有问题的HTML匹配属性(在不同的HTML标签)用正则表达式。要做到这一点,我使用模式:正则表达式 - 匹配的HTML代码
myAttr=\"([^']*)\"
HTML片段:
<img alt="" src="1-p2.jpg" myAttr="http://example.com" class="alignleft" />
它从myAttr
结束/>
选择文字,但我需要选择myAttr="..."
( “http://example.com”)
属性我有问题的HTML匹配属性(在不同的HTML标签)用正则表达式。要做到这一点,我使用模式:正则表达式 - 匹配的HTML代码
myAttr=\"([^']*)\"
HTML片段:
<img alt="" src="1-p2.jpg" myAttr="http://example.com" class="alignleft" />
它从myAttr
结束/>
选择文字,但我需要选择myAttr="..."
( “http://example.com”)
你有你的字符类中的撇号('
),但你想要一个引号("
)。
myAttr=\"([^"]*)\"
这就是说,你真的是shouldn't be parsing HTML with regexes。 (对不起链接到是再次回答。还有其他的答案,这个问题是更多的“如果你知道自己在做什么......”品种,但它是很好的了解。)
请注意,即使将您的regexing限制为属性,您也有很多需要考虑的因素:
这就是为什么预先建立的,严重的解析器一般要求。
的*是一个贪婪的量词。你应该有一个问号跟随它,使其非贪婪:
myAttr=\"([^']*?)\"
如果你只想要myAttr参数值,使用此:
"myAttr=\"([^\"]+)\""
,你可以尝试使用该
myAttr=\"?[\w:\-]+ ?= ?("[^"]+"|'[^']+'|\w+)\"
< [^>] *>
刚刚尝试这一点我s此帮助删除所有标签
例 东西
你看了这个问题吗? – Toto