perl:非捕捉用的括号
正则表达式中,括号是用来捕捉匹配上的字符,并把它们存入变量中,那只想用括号将某部分进行分组,该怎么办呢?
只需要在开括号后面添加?:两个字符即可,如:
if(/(?:bronto)?saurus (steak|burger)/)
{
print “Fred wants a $1\n”;
}
则匹配上(steak|burger)的字符会被放到变量$1中
只需要在开括号后面添加?:两个字符即可,如:
if(/(?:bronto)?saurus (steak|burger)/)
{
print “Fred wants a $1\n”;
}
则匹配上(steak|burger)的字符会被放到变量$1中