两个[\s\S]*?之间可为空元素没有意义

两个[\s\S]*?之间的* ? {0,n}等元素无效,即使出现这样的元素,也会被当做[\s\S]*?处理,[\s\S]*+也类似

除非两个[\s\S]*?之间设置必定出现的元素才有意义。

如下例中红色部分无效,两个[\s\S]*?之间的所有内容等于一个[\s\S]*?

<table class="full">[\s\S]*?id="(?<tableName>\w*)"[\s\S]*?(feature|object|choice)?[\s\S]*?(?=<table class="full">)

=

<table class="full">[\s\S]*?id="(?<tableName>\w*)"[\s\S]*?(?=<table class="full">)

原文地址:https://www.cnblogs.com/mol1995/p/10980997.html