迹忆客 计算机编程题库

反向引用

正则表达式`<([A-Z][A-Z0-9]*)\b[^>]*>.*?</\1>`可以匹配下列哪些字符串
  • <SPAN>This is span</SPAN>
  • <DIV>This is div</DIV>
  • <BOLD>Bold</B>
正确答案是:A,B
正确率:60%

解析:

本题主要的涉及的知识点是捕获组的反向引用,还有单词边界的应用。在本题中,对于A和B选项能正常匹配这个没有什么疑问。主要是对于C选项,正则表达式中的([A-Z][A-Z0-9]*)也可以只匹配B,所以反向引用\1也可以匹配。但是这里要注意的是在前面捕获组后面的单词边界\b,它的出现使得前面捕获组,如果正常匹配的话,只能是BOLD,而不能只是B。因此C选项不能匹配。

相关文章 反向引用

查看笔记

扫码一下
查看教程更方便