[英]Regex line matching with prefix
我目前正在開發GitHub掛鈎,以在提交消息與某些字符串匹配時移動一些Zenhub問題放置。 我想要實現的是:
Progress #121, #128, #50
我想在此處提取問題編號:121、128、50,並且該行必須具有Progress前綴。 問題必須以逗號分隔,以#開頭,並且可以有任意數量的前綴空格。
到目前為止,我唯一實現的是
^(?:Progress)(?:\s*#(\d+),?)+$
這只返回給我最后一個捕獲組,這里是50。
我想知道我哪里出錯了,以及如何達到預期的結果。 謝謝。
編輯:我想使用正則表達式,因為我也想解決這些額外的情況:“進度”可以從字符串的中間或任何行的開頭開始。 如果“ Progress”從字符串的中間開始,那么我將必須檢查其后的任何發行號。
因此,如果有任何答案可以用Python(除了regex)優雅地解決這個問題,也歡迎您。
您正在使用正則表達式來匹配整個模式,並同時從中提取重復的子模式。 我不確定您是否可以同時執行這兩項操作-兩者之一。
如果您使用的是Python,建議您簡化一下。 使用簡單的str.startswith
檢查,然后使用正則表達式提取問題編號。
if string.startswith('Progress'):
return re.findall('#(\d+)', string)
應該返回['121', '128', '50']
。 如果使用JavaScript,則可以采用類似的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.