我有一個字符串,例如獲得重複的正則表達式匹配
my $str = "Dave birthday on 11/12/68 Fred enjoys cooking Wilma likes cake"
我有一些字符串我想,以滿足他們的名字和文本,直到下一場比賽,所以我目前正在
my $re = "(Dave|Sally|Fred|John|Wilma)" # created dynamically
我可以反覆做像
比賽my @matches;
push @matches, [$1, $2] while $str =~ /$re/g;
warn Dumper @matches;
不知道我會放拉出$ 2
這將抓住匹配,但我想找到一種方法來匹配中間部分直到下一個匹配,所以理想情況下我最終會得到類似的東西(不關心它的數組,哈希或任何)。
[["Dave"," birthday on 11/12/68"],
["Fred"," enjoys cooking"],
["Wilma"," likes cake"]]
我也許可以通過分割字符串匹配的位置和剩餘做到這一點,但我想知道是否有我缺少任何明顯的正則表達式的方法是什麼?
我想上的名字拆分像這樣'我的(民主,@foo)=分流/ $ RE /,$海峽; '並擺脫第一個空串(來自_Dave_的LHS)。 – simbabque
謝謝,這很有用,有沒有辦法將匹配的名字與該方法一起推送? – Ian