迹忆客 计算机编程题库

反向引用

正则表达式`([a-c])x\1x\1`可以匹配下列哪些字符串
  • axaxa
  • bxbxb
  • cxcxc
  • axbxc
正确答案是:A,B,C
正确率:67%

解析:

正则[a-c]匹配a、b和c中的任意一个字符。通过外层的分组括号进行捕获,如果是匹配到了a,则捕获的是字符a,那么\1是对([a-c])匹配到的字符a的引用。因此如果是匹配到a,那后面跟着字符x,再是对a的引用,紧接着又匹配一个x,最后\1还是对a的引用。所以最终匹配到的字符串为axaxa。同理,如果最开始([a-c])匹配到的是b或者c ,那么最终的匹配结果是 bxbxb或者 cxcxc。 请各位记住,反向引用是对分组中匹配到的内容的引用,而不是对分组中的正则表达式的引用。

查看笔记

扫码一下
查看教程更方便