所以说我有一个要尝试的元素看起来像(重要的是结尾)
<inline id="shortcode0-container" class="shortcode-container linkContainer" data-content="ANNOTATION "><inline class="shortcode-header hidden"><ul class="shortcode-menu nav"><li class="shortcode-label"><a href="#">Annotation: Jordan</a></li><li class="divider-vertical"></li><li class="shortcode-unlink"><a href="#">unlink</a></li></ul></inline><inline class="shortcode" id="shortcode0"><div class="shortcode-preview">
<a href="#">Jordan</a>
</div></inline></inline>&nbps; blah blah blah text here
有时&nbsp?不在那里。我不想有2个模式来捕获此元素的结尾。这是我到目前为止所得到的
/(<inline.*?\n.*?\n.*?(<\/inline><\/inline> |<\/inline><\/inline>))/gm
现在我必须使用
/(<inline.*?\n.*?\n.*?<\/inline><\/inline>)/gm
要么
/(<inline.*?\n.*?\n.*? )/gm
关于如何将它们组合的任何线索?
提前致谢
编辑:
多亏了Bergi,他不得不修改自己的回答。在
?
组中添加了
,因为如果
不存在,则不会显示任何内容/(<inline.*?\n.*?\n.*?<\/inline><\/inline>(?: ?)?)/gm
最佳答案
听起来像您想要一个简单的optional token(也许是non-capturing group):
/(<inline.*?\n.*?\n.*?<\/inline><\/inline>(?: )?)/gm
# ^^^ ^^
关于javascript - Javascript正则表达式:如何指定字符串的选项结尾,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24664867/