baz*_*lic 7 c# regex perl capture
我正在尝试编写一个与逗号分隔的单词列表匹配并捕获所有单词的正则表达式.此行应匹配 apple , banana ,orange,peanut
和捕获应该是apple
,banana
,orange
,peanut
.要做到这一点,我使用以下正则表达式:
^\s*([a-z_]\w*)(?:\s*,\s*([a-z_]\w*))*\s*$
Run Code Online (Sandbox Code Playgroud)
它成功地匹配字符串,但突然间只apple
与peanut
被捕获.在C#和Perl中都可以看到这种行为.因此,我假设我遗漏了有关正则表达式匹配如何工作的事情.有任何想法吗?:)
给出的值match.Groups[2].Value
只是第二组捕获的最后一个值。
要查找所有值,请查看match.Groups[2].Captures[i].Value
本例中i
从0
到 的范围2
。(以及match.Groups[1].Value
第一组。)
(问题+1,我今天学到了一些东西!)
归档时间: |
|
查看次数: |
984 次 |
最近记录: |