我有这个正则表达式:
@disks = $sysconfig =~ /(\d+)\.\d+:(\s+[\w.\/]+){5}\s+\((\w+)\)/ig
如果只有一条线匹配,我会得到像
这样的东西1835 x @array
1836 35
1837 ' 520B/sect'
1838 'KXG813JF'
匹配:
字符串中的第一个数字
“空格然后字母数字 - 句号和斜线”的第五个副本和
末尾的字母数字字符串
我不想在上面反向引用#2并且用它弄乱我的数组,但我也不想写出那个重复的模式,当我得到的是一个更简洁的正则表达式(看看)。
有没有办法说“不要反向引用这篇文章”,或者当我将数组解析成我的程序更有用的东西时,我应该只处理它?</ p>
答案 0 :(得分:10)
是的,有。使用非捕获组构造:(?:
... )
。
除非您需要反向引用或捕获,否则您甚至应该默认使用 。