41 在规则表达式中的括号
(Llama书的第七章)
对于一个匹配的不同有关部分或有关的替代匹配,能用括号来"记忆".
如果规则表达式的一部分括在括号中,那么对于第一个括号,第二个括号..所匹配的的值被暂存在变量\1 \2 中.
/Geoffrey(.*)Fox/当所匹配的Geoffrey Charles Fox存储时
\1='Charles',这个能被转换为替代字符串,其是
/Geoffrey\(\1\)Fox/结果为Geoffrey(Charles)Fox
括号也能用于澄清规则表达式的意义,通过定义一组操作的优先级,例如,要区别
/(a|b)*/和/a|(b*)/
对于优先级有一个约定,但一般我推荐使用括号,即使括号以两种方法被使用
Copyright: NPACT