标签: regex perl split
为什么这些行为不一样?
perl -e '$x = "12aba34ba5"; $, = ", "; print split /[ab]/, $x;' 12, , , 34, , 5 perl -e '$x = "12aba34ba5"; $, = ", "; print split /(a|b)/, $x;' 12, a, , b, , a, 34, b, , a, 5
答案 0 :(得分:2)
perldoc split中记录了这一点:
如果PATTERN包含括号, 创建其他列表元素 来自每个匹配的子字符串 分隔符。
如果您不想进行反向引用,可以使用(?:a|b)。
(?:a|b)