正则表达式?为什么可以匹配多次

2025-03-12 15:49:23
推荐回答(3个)
回答1:

如果你没有加开始^和结束$标志,那么久匹配出来多次了。
例 [A][0-9][B] 和^[A][0-9][B]$ 去 匹配 A1BA2BA3B
前者匹配的结果为 A1BA2BA3B ,后者匹配的结果为 A1B

回答2:

因为按你的写法 $name 中匹配到了 fo ,即前两个 如果你只想匹配到 fo这一字符串 改为 ^fo$ 推荐一正则表达式教程:http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html

回答3:

fooooo在匹配的时候只匹配了前两个字符fo,此时正则匹配就已经成功了,不管后面有什么
如果希望不匹配这样的字符串,你需要完善你的正则表达式
fo? 可以匹配字符串中的'f'和'fo'
如果需要不匹配fooooo中的fo,正则可以这样写:fo(?!oooo)