我需要两组 - 一组用于提取单词,第二组用于提取单词。例如:
['| Sofia | 300']
需要提取:
Group 1 - Sofia; Group 2 - 300
我的正则表达式尝试:
([a-zA-Z]+[ ]*[a-zA-Z]+)([0-9]+)
我不明白为什么这不匹配。我现在已经读了30分钟了,也许我无法正确地说出我的问题,但我无法找到解决方案。我在这里的想法是每组括号都有一组。它们内部的正则表达式似乎可以自行运行,但是当我尝试捕获2组时 - 它失败了。显然,我错过了关于多组捕获的重要信息。
答案 0 :(得分:3)
它不匹配,因为您没有匹配“Sofia”和“300”之间的字符。这将匹配“Sofia300”,但不匹配“Sofia 300”或“Sofia | 300”。试试这个:
(\w+ *\w+).*?(\d+)
(为了简洁起见,我使用\w
代替[a-zA-Z]
和\d
代替[0-9]
。)
答案 1 :(得分:2)