例如,我有一个字符串:
content = "<h1>test</h1>\n<script>$(function(){alert('test')});</script>\n<b>bold</b>"
content.scan(/>.*?</m) # should not get the script tag content
谢谢。
答案 0 :(得分:1)
我不确定Ruby是否支持PCRE,如果可以,您可以使用如下正则表达式动词:
<\/?script>(*SKIP)(*FAIL)|<\/?\w+>
如果您不能使用动词(跳过和失败),则可以使用如下的丢弃技术:
<\/?script>|(<\/?\w+>)
然后访问捕获组并获取匹配标签的内容
答案 1 :(得分:0)
"<h1>test</h1>\n<script>$(function(){alert('test')});</script>\n<b>bold</b>".
scan(/>[^<]*?<(?!\/script>)/)
#⇒ [">test<", ">\n<", ">\n<", ">bold<"]