迹忆客 计算机编程题库

题库 > 正则表达式 > 字符类 练习:21

字符类

关于字符类,下面说法正确的是
  • 如果使用?,`*`或+运算符量词使字符类重复的话,将重复整个字符类
  • 如果使用?,`*`或+运算符量词使字符类重复的话,将重复上一次字符类匹配到的字符
  • [0-9]+ 可以匹配876 但是不能匹配222
  • ([0-9])\1+ 可以匹配222 但是不能匹配876
正确答案是:A,D
正确率:48%

解析:

如果使用?*+运算符量词使字符类重复的话,我们将重复整个字符类。而不只是在重复与之匹配的字符。正则表达式[0-9]+可以匹配876和222 。  如果要重复匹配的字符,则需要使用反向引用。([0-9])\1+匹配222,但不匹配876 。当应用于字符串833337时,它将与该字符串中间的3333匹配。 对于正则表达式([0-9])\1+中的\1,这个是一个反向引用。关于反向引用,我们在反向引用的相关练习题中可以了解该知识点。这里不多做解释,只要明白并掌握字符类后面的量词是对前面整个字符类的重复即可。

查看笔记

扫码一下
查看教程更方便