我有这个字符串
blabla [IC="test"]Hello, [IC="testing"] this is a nested tag [EC], cya.[EC] blabla
我试图匹配外部[IC="..."]...[EC]
所以我可以
[IC="test"]Hello, [IC="testing"] this is a nested tag [EC], cya.[EC]
我目前有这个
\[IC=\"([\s\S]*?)\"]([\s\S]*?)\[EC]\n{0,1}
但是在最后一个结束标记[EC]
这是我在regex101
上的代码示例答案 0 :(得分:1)
答案 1 :(得分:1)
试试这个:
(\[IC="\w*"\].*\[EC\])
https://regex101.com/r/MVU9ni/1
匹配位于[IC="any_word_character_here"]
和[EC]
之间的0个或多个字符。
答案 2 :(得分:1)
我不会决定使用\s\S
,它似乎比实际应该更令人困惑。
但是,要解决此问题,您只需删除?
...([\s\S]*?)\[EC]...
到
...([\s\S]*)\[EC]...
导致
\[IC=\"([\s\S]*?)\"]([\s\S]*)\[EC]\n{0,1}
但是我会简单地使用\w
和.*
,因为它们更容易
\[IC="(\w*)"\](.*)\[EC\]
编辑:
假设您实际需要从[IC =“..”]获取字符串值并在其间输入字符串。否则,如果您只需要整个数据,则不需要分组
\[IC="\w*"\].*\[EC\]
答案 3 :(得分:0)