这就是我会用的。
(?<=(
))(\w|\d|\n|[().,\-:;@#$%^&*\[\]"'+–/\/®°⁰!?{}|`~]| )+?(?=())
基本上,它的作用是:
(?<=(
))选择必须在
标签之前
(\w|\d|\n|[().,\-:;@#$%^&*\[\]"'+–/\/®°⁰!?{}|~]| )这只是我要应用的正则表达式。在这种情况下,它将选择字母或数字或换行符或方括号中示例中列出的某些特殊字符。竖线字符|仅表示“ OR ”。
+?加上字符状态以选择上述一项或多项-顺序无关紧要。问号将默认行为从“贪婪”更改为“不贪婪”。
(?=(
))选择必须附加标签根据您的用例,您可能需要添加一些修饰符,例如(i或m)
我 -不区分大小写
m-多行搜索
在这里,我在Sublime Text中执行了此搜索,因此不必在正则表达式中使用修饰符。
Javascript不支持向后看
上面的示例可以很好地与PHP,Perl,Java ...等语言配合使用,但是Javascript不支持向后看,因此我们不得不忘记使用(?<=(
))并寻找某种解决方法。也许简单地从每个结果的结果中去除结果的前四个字符,就像这里 Regex匹配标记之间的文本
另请参阅JAVASCRIPT REGEX DOCUMENTATION中未捕获的括号