我正在尝试匹配包括和介于
例如:
style=""
之间的任何内容。例如:
style="whatever:0; morestuff:1; otherstuff:3"
。style=""
之间的任何内容。style="whatever:0; morestuff:1; otherstuff:3"
。模式将是/style="([^"]*)"/
,但根据您使用的语言可能会略有不同。
如果您正在尝试通过JavaScript完成此操作,则使用jQuery会使其变得非常简单:
$("#element-id").attr("style");
如果您想从其他语言实现这个功能,请使用HTML解析库,因为HTML不是规则化的。Python的BeautifulSoup非常好用。待测试字符串
style="whatever:0; morestuff:1; otherstuff:3"
正则表达式
style\s*=\s*"([^"]*)"
第一组内容
whatever:0; morestuff:1; otherstuff:3
编写基于正则表达式的HTML解析器既困难又容易出错,而且还不够安全和可维护。如果您需要以强大、可靠和安全的方式处理HTML,则应使用真正的HTML解析库,例如jsoup(Java)或Html Agility Pack(C#)。要查找适用于您喜欢的语言的HTML解析器,请搜索:yourlanguage html parser
。
style=\"[^\"]*\"
/(style="([^"]*)")/
对于整个字符串(未经测试),您是否想要检索键值对?
<div style="some stuff here" id="this-div">
这样的情况,因为.*是贪婪的,所以你会匹配到some stuff here" id="this-div
。你需要使用字符类[^"]
,它可以匹配除双引号之外的所有内容。 - Bennstyle="([^"]*)"
(注意双引号和前导空格)。 - Alexander Dixon