我想寫一個匹配逗號分隔的單詞列表並捕獲所有單詞的正則表達式。該行應該匹配 apple , banana ,orange,peanut
,並且捕獲應該是apple
,banana
,orange
,peanut
。要做到這一點我用正則表達式如下:奇數正則表達式的行爲 - 只匹配第一個和最後一個捕獲組
^\s*([a-z_]\w*)(?:\s*,\s*([a-z_]\w*))*\s*$
它成功地匹配字符串,但突然之間只有apple
和peanut
被捕獲。這種行爲在C#和Perl中都可以看到。因此,我認爲我錯過了關於正則表達式匹配如何工作的一些事情。有任何想法嗎? :)
+1我不確定.net是否具有此功能,並且懶得檢查。 – stema
@stema我甚至沒有意識到這是一個問題,我認爲所有的值都會在'Groups'中出現! – Rawling
感謝您指向'.Captures'集合!最後,我想出了使用相同的正則表達式,因爲我提出了問題,然後我做了for(int i = 1; i
bazzilic