c#regex从字符串中提取子字符串

时间:2018-05-22 16:38:48

标签: c# regex

我需要获得放置在2个符号之间的所有子串。

例如,放置在][之间的子字符串:

abcabc]substrings[kkkkkkk]iwant[12345]tohave[!@#$%]

我得到:substrings iwant tohave

我尝试(?<=\])(.*)(?=\[),但它返回substrings[kkkkkkk]iwant[12345]tohave

2 个答案:

答案 0 :(得分:1)

您的正则表达式必须为(?<=\])(.* ? )(?=\[)

请注意,添加的?符号尽可能少

然后你必须将(目前)三个匹配与空格结合起来,你将得到你想要的输出!

答案 1 :(得分:0)

设为non greedy .*?,否则匹配到最后[

如果您只想获得匹配项,则不需要capturing group

(?<=\]).*?(?=\[)

Test