我有以下Regexp:
regexp=/(\w+) \s* : \s* (\w+) \s+ (.*) \s* ;?/ix
我正试图获取捕获信息:
names, direction, type = iotext.match(regexp).captures
这适用于单个“x:in integer;” ,
但是我怎么能在我的文件中获得所有其他匹配数据组:
"x : in integer;
y : in logic;
z : in float;"
答案 0 :(得分:3)
你的正则表达式regexp
没问题,它只匹配一次出现。如果你想匹配每次出现尝试
"x : in integer; y : in logic; z : in float;".scan(regexp)
导致一个包含3个元素的数组,其中包含每3个匹配的数组,即
[ ["x", "in", "integer"], ["y", "in", "logic"], ["z", "in", "float"] ]