如图所示:
第一行中,当我想要正则表达式中出现1个h、3个ab、1个c时,如果字符串中间多打一个ab(变成4个ab),则汇报false;
但是,当我想要正则表达式中出现3个ab、1个c时,如果字符串中先打出4个ab,再打c时,却是true;
请问这是为什么?
如图所示:
第一行中,当我想要正则表达式中出现1个h、3个ab、1个c时,如果字符串中间多打一个ab(变成4个ab),则汇报false;
但是,当我想要正则表达式中出现3个ab、1个c时,如果字符串中先打出4个ab,再打c时,却是true;
请问这是为什么?
因为你没有用^和$来匹配字符串开头和结尾。
这样只要字符串中有一部分内容能满足正则表达式的匹配就是true
例如你的/(ab){3}c/匹配的是字符串中加粗的部分
ababababc
要让整个字符串满足正则表达式的匹配需要用^和$来匹配字符串开头和结尾
/^(ab){3}c$/