请问如用正则表达式表式:以<style> 开头 以</style>结尾的.中间是任意的字体

style不区分大小写如
<style>/*CSS定义*/</style>
<STYLE>/*CSS定义*/</STYLE>
把以上两行代码全部去掉 替换为空
意思就是以出现style之间的所有字符
谢谢大家呀,满意加分呀
有可能多次出现哟
第一种<STYLE>
<!--
/* Font Definitions */
@font-face
-->
</STYLE>

第二种<STYLE>
/* Font Definitions */
@font-face
</STYLE>
用函数nohtml(str) 第一种能过滤掉,第二种就不行了
function nohtml(str)
dim re
Set re=new RegExp
re.IgnoreCase =true
re.Global=True
re.Pattern="(\<style\>.*?\</style\>)"
re.Pattern="(\<.[^\<]*\>)"
str=re.replace(str," ")
re.Pattern="(\<\/[^\<]*\>)"
str=re.replace(str," ")
nohtml=str
set re=nothing
end function
最新回答
狗屎味的小仙女

2024-04-11 14:02:06

/(<style>).*?(?=<\/style>)/

不知道你用的是什么语言,暂时用js做个例子
alert("<style>/*CSS定义*/</style><STYLE>/*CSS定义*/</STYLE>".replace(/(<style>).*?(?=<\/style>)/ig,"$1"))
追问
我是用的ASP语言
追答
regEx.Pattern = "().*?(?=)" 
message = regEx.Replace(message, "$1 />")
萌萌囧囧猫

2024-04-11 13:44:01

不知道你用什么语言
比如是c#的话
new Regex("<style[^>]*>(.*?)</style>", RegexOptions.IgnoreCase)
//RegexOptions.IgnoreCase 忽略大小写

如果出现多次 foreach 一下 把 $1替换成空。
追问
'============================== 
'功能描述: 用正则除去HTML标记
'不能保留等以及用户自定义的
'==============================

Function RemoveHTMLTag(fString)
Dim re
Set re = New RegExp
re.IgnoreCase = True
re.Pattern = "]*)>"
fString = re.Replace(fString, "")
Set re = Nothing
RemoveHTMLTag = fString
End Function
这是原来的,我想在此基础上去除
浅挚绊离兮

2024-04-11 13:42:50

\<style\>.*?\</style\>
追问
测试了还是不行呀
口拙嘴笨

2024-04-11 02:50:37

/<style>([\s\S]*)<\/style>/i