我有这个字符串,例如:
Something`3[[typeOne],[typeTwo],[typeThree]][[typeOne],[typeTwo],[typeThree]]
其中可以包含N种类型:
[[type1],...,[typeN]]
我想提取这些内部typeX
字符串(type1
,...,typeN
)。我使用这种模式(忽略空格 - 它只是为了可读性):
\[
(?:,?\[
([^\]]*)
\])+
\]
但它只给我最后一种类型(typeN
)。如何使用正则表达式获取所有typeX
字符串?
实际上,真正的问题是
Something`3[[typeOne],[typeTwo],[typeThree]]
其中可以包含N种类型:
Something`N[[type1],...,[typeN]]
我的正则表达是:
(?:`(?<count>\d+)\[
(?:,?\[([^]]+)\])+
\])
很抱歉在中间更改问题,我尝试简化问题的输入,而some solution below (Avinash Raj)确实解决了先前的输入,但不是这个......
为了便于阅读,我似乎过分简化了我的问题......这是我的实际要求:
How to get repeating groups that nest within another group with regex?
答案 0 :(得分:1)
答案 1 :(得分:0)
当你可以本地使用正则表达式时,不要担心使用正则表达式。
var str = "[[typeOne],[typeTwo],[typeThree]]";
var arr = str.Replace("[","").Replace("]","").Split(','); // easy-peasy
答案 2 :(得分:0)
只需使用\w+
:它匹配括号内列表中的所有元素。如果您需要捕获,请添加括号:(\w+)
答案 3 :(得分:0)