例如,请考虑以下字符串:"apple1: apple2: apple3: some random words here apple4:"
我想只匹配apple1,apple2和apple3,但不匹配apple4。我很难弄清楚如何归档这个。
感谢任何帮助。
感谢。
答案 0 :(得分:1)
如果您使用的是.net,则可以匹配以下模式,然后使用该组的Captures
属性来获取所有匹配的苹果。
(?:(apple\d).*?){3}
如果你只想匹配第一个:
apple\d
甜美而简单。只需拨打一次匹配即可。
答案 1 :(得分:1)
从您的评论中,您可能希望匹配apple
后面跟着整个字符串中的数字的匹配项,除了出现apple
后跟字符串末尾的数字。< / p>
>>> import re
>>> text = 'apple1: apple2: apple3: some random words here apple4:'
>>> matches = re.findall(r'(\bapple\d+):(?!$)', text)
['apple1', 'apple2', 'apple3']
答案 2 :(得分:1)
答案 3 :(得分:0)
对不起,伙计们,我没有正确地格式化我的问题,但它并不清楚。
我找到了解决方案:
r'\s*((apple)\d+[ \:\,]*)+'
感谢您的帮助!