[英]JS Regex replacement - replace fixed text around random string
鉴于此文本:
<span class='green'>foobar</span> something <span class='red'>fizzle</span>
我需要以某种方式实现这一目标:
<tagA>foobar</tagA> something <tabB>fizzle</tagB>
我基本上必须匹配<span class='green'>*anything*</span>
并且也能够将其与红色的区别。 我必须在两端使用这个绿色范围,并用固定的字符串替换它,但是无论如何都保留两个标签之间的任何文本。
我发誓我已经四处寻找,但不知道如何用正则表达式找到解决方案。
这应该可以解决问题
更换
<span class='green'>(.*?)</span>
用
<tagA>$1</tagA>
并为该类执行类似的操作,其值为red
更新1
对反馈的响应“如果某项包含换行符怎么办?”
如果我没记错的话,JavaScript不支持“单行模式” /点匹配换行符。
<span class='green'>([\s\S]*?)</span>
更新2
经过调整的正则表达式允许
<span\s+class\s*=\s*['"]green['"]\s*>([^>]*)</\s*span\s*>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.