簡體   English   中英

正則表達式行與前綴匹配

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM