这是我的字符串......
[foo-1 param1 : value1, param2 : value2]
[foo-2 param1 : value1, param2 : value2, params3 : value3]
...
Run Code Online (Sandbox Code Playgroud)
我的目的是首先获得[]之间的所有序列,然后解析所有参数.我写了2个正则表达式,第一个应该得到[]之间的所有序列:
/\[([\w-]+)\s?([\w@.,:\s]*)\]/m
Run Code Online (Sandbox Code Playgroud)
第二个正则表达式应该解析我的所有参数
/([\w]+)\s?,?:\s?,?([\w@.-]+)/m
Run Code Online (Sandbox Code Playgroud)
我的问题是我总是得到第一场比赛,但我想得到所有的比赛.我试着这样做:
r = /\[([\w-]+)\s?([\w@.,:\s]*)\]/m
str = "[foo-1 param1 : value1, param2 : value2]
[foo-2 param1 : value1, param2 : value2, params3 : value3]"
m = r.match(str)
# #<MatchData "[foo-1 param1 : value1, param2 : value2]" 1:"foo-1" 2:"param1 : value1, param2 : value2">
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我解释为什么我的正则表达式只有第一场比赛即使有更多的比赛?我在rubular上测试它(这里:http://www.rubular.com/r/nTVE6M5om5 )似乎它有效.
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |