我正在使用一系列正则表达式模式从代码中删除HTML元素。我还需要删除文件中也存在的属性。
目前,我style.*?
只匹配单词style
,但是我认为通过.*?
在正则表达式中添加样式声明后,它还可以匹配零到无限个字符吗?
我也有{0,1}.*?"{0,1}
哪些匹配项:
style=" style
但是不匹配,再次在此正则表达式中,我希望
.*?
匹配第一个"
和第二个之间的所有内容"
,但事实并非如此。我需要做些什么来更改此正则表达式,使其与以下所有项匹配:
style
The fourth b.. 5
该模式style.*?
与以下部分不匹配,因为在非贪婪部分之后没有任何内容,因此它至少要匹配。
您可以使用可选的组和否定的字符类:
\bstyle(?:="[^"]*")?
在部分
\bstyle
单词赏识,匹配样式
(?:
非捕获组
="
比赛=
和开幕"
[^"]*
匹配任何char 0+次,但"
使用否定的字符类
"
比赛结束 "
)?
关闭组并使其可选
正则表达式演示
例如,如果要将单引号或双引号与随附的结束单引号或双引号匹配以使其不匹配,则可以使用捕获组
(["'])
,该捕获组具有对组1中捕获的内容的反向引用 \1
。
\bstyle(?:=(["'])[^"]*\1)?
正则表达式演示
该模式style.*?
与以下部分不匹配,因为在非贪婪部分之后没有任何内容,因此它至少要匹配。
您可以使用可选的组和否定的字符类:
\bstyle(?:="[^"]*")?
在部分
\bstyle
单词赏识,匹配样式
(?:
非捕获组
="
比赛=
和开幕"
[^"]*
匹配任何char 0+次,但"
使用否定的字符类
"
比赛结束 "
)?
关闭组并使其可选
正则表达式演示
例如,如果要将单引号或双引号与随附的结束单引号或双引号匹配以使其不匹配,则可以使用捕获组
(["'])
,该捕获组具有对组1中捕获的内容的反向引用 \1
。
\bstyle(?:=(["'])[^"]*\1)?
正则表达式演示