Regex 要匹配样式的正则表达式=";无论什么:0;另外:1;其他材料:3“;

Regex 要匹配样式的正则表达式=";无论什么:0;另外:1;其他材料:3“;,regex,Regex,我正在尝试匹配style=”“ 例如:style=“随便什么:0;更多内容:1;其他内容:3” 对于整个字符串(未测试)。是否也要检索键值对?模式将是/style=“([^”]*)”/,但可能会有所不同,具体取决于您使用的语言 另外,如果您试图通过javascript实现这一点,jquery将使这一点尽可能简单 $("#element-id").attr("style"); 如果您试图从另一种语言执行此操作,请使用HTML解析库,因为HTML不是常规的。对于Python,这非常好。测试中的字符

我正在尝试匹配
style=”“

例如:
style=“随便什么:0;更多内容:1;其他内容:3”


对于整个字符串(未测试)。是否也要检索键值对?

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

另外,如果您试图通过javascript实现这一点,jquery将使这一点尽可能简单

$("#element-id").attr("style");

如果您试图从另一种语言执行此操作,请使用HTML解析库,因为HTML不是常规的。对于Python,这非常好。

测试中的字符串

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

style\s*=\s*"([^"]*)"
第1组的内容

whatever:0; morestuff:1; otherstuff:3

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

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

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

这在升华文本2-3中对我很有用,在你有
之前,你将在这里匹配
一些东西“id=”This div
,因为。*是贪婪的。你想使用字符类
[^”]
,除了双引号之外,它还匹配所有东西。在记事本++中,使用
style=“([^”]*)”
(注意双引号和前导空格)。
style=\"[^\"]*\"