我是这个正则表达式
([\s\S]*?)\[T\]([\s\S]*?)\[\/T\]([\s\s]*?)
应该在[T][\T]
之前,之间和之后提取所有内容,但我总是将第三个捕获组清空。
我的文字是:
<h1>HelloWorld</h1>
[T]
<h2>I'm Inside</h2
[/T]
<h1>HelloWorld</h1>
[T]
<h2>I'm Inside</h2
[/T]
<h3>By World</h3>
我已经使用了Regexr和Regex101并得出结论,错误发生在最后一个捕获组?
的{{1}}中,因为我正在做([\s\S]*?)
懒惰。但是,如果我删除它,它会将所有内容分组为一个匹配而不是两个。
修改
基本上我想做像
这样的事情*
任何帮助表示感谢。
答案 0 :(得分:0)
由于您的问题标题与实际输出示例有争议,我的答案是基于实际所需的输出。
要获得所需的输出,您必须查看给定文本中的模式。要捕获的文本不始终在[T] [/ T]之间。但它始终位于&gt; ... &lt;
之间基于这个逻辑,我为你做了一个例子:
{{1}}