所以说我有一个元素,我试图抓住它看起来像(重要的部分是结束)
<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
有时&amp; nbsp?不在那里。我不希望有两种模式来捕捉这个元素的结尾。这是迄今为止我所得到的
/(<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
答案 0 :(得分:4)
听起来你想要一个简单的optional token(可能是non-capturing group):
/(<inline.*?\n.*?\n.*?<\/inline><\/inline>(?: )?)/gm
# ^^^ ^^