Regex 一组捕获多次
字符串: 想要: 尝试:Regex 一组捕获多次,regex,Regex,字符串: 想要: 尝试: F G H I 结果: \((?:([A-Z])\|)+([A-Z])\) 一个组如何捕获多次?在我看来,最好捕获()中的字符,然后将其拆分(python 2): 在我看来,最好捕获()中的字符,然后将其拆分(python 2): 你用什么语言?通过在管道上拆分字符串(|),您可能会获得更好的里程数。@TimBiegeleisen我想通过正则表达式解决这个问题。TT@WebEngine什么regex口味?Javascript、PHP……如果您知道要捕获多少个字符,可
F G H I
结果:
\((?:([A-Z])\|)+([A-Z])\)
一个组如何捕获多次?在我看来,最好捕获()中的字符,然后将其拆分(python 2):
在我看来,最好捕获()中的字符,然后将其拆分(python 2):
你用什么语言?通过在管道上拆分字符串(
|
),您可能会获得更好的里程数。@TimBiegeleisen我想通过正则表达式解决这个问题。TT@WebEngine什么regex口味?Javascript、PHP……如果您知道要捕获多少个字符,可以这样做:\([A-Z])\([A-Z])\([A-Z])\ \([A-Z])\([A-Z])\)
,以获取所有匹配项。您使用的是什么语言?通过在管道上拆分字符串(|
),您可能会获得更好的里程数。@TimBiegeleisen我想通过正则表达式解决这个问题。TT@WebEngine什么regex口味?Javascript、PHP……如果您知道要捕获多少个字符,可以这样做:\([A-Z])\([A-Z])\ \([A-Z])\ \([A-Z])\([A-Z])\)
,以获取所有匹配项。
\((?:([A-Z])\|)+([A-Z])\)
H I
>>> input = 'A|B|CD|E(F|G|H|I)|J|K|L'
>>> re.findall('\(([^\)]+)\)',input)[0].split('|')
['F', 'G', 'H', 'I']