正则表达式匹配style =“whatever:0; morestuff:1; otherstuff:3”

时间:2010-11-04 21:38:10

标签: regex

我正在尝试匹配style=""之间的任何内容 例如:style="whatever:0; morestuff:1; otherstuff:3"

4 个答案:

答案 0 :(得分:14)

该模式将为/style="([^"]*)"/,但可能会有所不同,具体取决于您使用的语言。

此外,如果您尝试通过javascript执行此操作,jquery会使其像

一样简单
$("#element-id").attr("style");

如果您尝试使用其他语言执行此操作,请使用HTML解析库,因为HTML不常规。 Python的BeautifulSoup非常好。

答案 1 :(得分:5)

正在测试的字符串

style="whatever:0; morestuff:1; otherstuff:3"

<强>正则表达式

style\s*=\s*"([^"]*)"

第1组的内容

whatever:0; morestuff:1; otherstuff:3


注意!

编写一个正确,安全且可维护的基于正则表达式的HTML解析器非常困难。如果您需要以健壮,可靠和安全的方式编写处理HTML的程序,您应该使用真正的HTML解析库,如jsoup(Java)或Html Agility Pack(C#)。要查找您喜欢的语言的HTML解析器,Google:yourlanguage html parser

答案 2 :(得分:3)

如果您需要从html中删除所有样式标记(完全清除内联样式),请将其用作regexp:

style=\"[^\"]*\"

这适用于我的崇高文本2-3

答案 3 :(得分:1)

/(style="([^"]*)")/

表示整个字符串(未经测试)。你想要检索的键值对吗?