首先是题目链接,感谢大佬的题目:https://zhuanlan.zhihu.com/p/66605402
然后是这次测试的结果分析。、
1,第四题。结果为b,我的结果为d。首先是题目匹配一个字符串中两个相邻单词,这基本的思路就是中间用\s或者\b来进行分隔,然后关键的一点,也就是我错的原因,主要就是\1了。这里\1下意识的感觉是和之前一样匹配一个单词,但是,()的匹配这里引用的话必须返回一个一样的单词才算,所以不能使用。这一点确定,答案出来了。但是这个b选项我怎么看也只能匹配一个单词呀,很奇怪。
A./\b(\b+)\s+\1\b/
B./\b(\w+)\s+\b/
C./\b(\w*)\s+\1\b/
D./\b(\w+)\s+\1\b
2.第6题主要是用到了一个(.*?)这一题错的主要原因是.的意思忘记了,.表示匹配任意字符,在匹配中文的时候可以用到,*?表示惰性匹配,能匹配少就匹配少,放在这里是完全可以的,emmm选了c:(*),我也不知道在干啥。。。
3.8题选D,我选的是a,这个主要是和上题一样,.的使用没有记住。
4.11题 概念性问题,我把regexp的对象属性和string的方法搞混了,string就是操作regexp对象的
5。14题,这个题为什么选a,没有找到相关资料,暂时解释不了。
匹配一个英文句子(假设句子最后没有标点符号)最后一个单词的正则表达式有( )。
A.\b(\w+)\s*$
B.\b(\w+)\s+$
C.\s(\w+)\s*$
D.\b(\w+)\b*$