[英]Regular expression: repeating patterns in the beginning of string
例如,考慮以下字符串: "apple1: apple2: apple3: some random words here apple4:"
我只想匹配apple1,apple2和apple3,而不匹配apple4。 我很難弄清楚如何將其存檔。
任何幫助表示贊賞。
謝謝。
如果您使用的是.net,則可以匹配以下模式,然后使用該組的Captures
屬性來獲取所有匹配的蘋果。
(?:(apple\d).*?){3}
如果您只想匹配第一個:
apple\d
甜美而簡單。 只需對此進行一次比賽。
從您的評論,這聽起來像你想匹配的出現apple
,然后在整個字符串的數字,除了的發生apple
后面跟着一個數字字符串的結尾。
>>> import re
>>> text = 'apple1: apple2: apple3: some random words here apple4:'
>>> matches = re.findall(r'(\bapple\d+):(?!$)', text)
['apple1', 'apple2', 'apple3']
抱歉,我的問題格式不正確,目前尚不清楚。
我找到了解決方案:
r'\s*((apple)\d+[ \:\,]*)+'
感謝你的幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.