正则表达式,全局匹配参数如何解释?

Zh.晨光
前端领域优质创作者
博客专家认证
2014-06-29 09:42:55
<script>
var str="javascript";
var str2="java";
var reg=/^java$/i;

if(!reg.test(str)){
document.write("javascript和java不是一种语言<br/>");
}
if(reg.test(str2)){
document.write("java语言也可以写成为Java语言<br/>");
}
</script>

如何解释reg和str的匹配问题呢?第一个为什么返回false呢?
...全文
221 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Zh.晨光 2014-06-29
  • 打赏
  • 举报
回复
取反之后是true,感觉取反应该是false啊?
业余草 2014-06-29
  • 打赏
  • 举报
回复
第一个因为存在javascript,而你又取反,所以返回false
张运领 2014-06-29
  • 打赏
  • 举报
回复
/^a/匹配以a开头的所有
/a$/匹配以a结尾的所有
/^java$/只匹配java
/^.*$/匹配任意唱的字符
/[^a]/匹配一个不为a的字符
因为你只写的这个正则只会匹配java。
hetao220284 2014-06-29
  • 打赏
  • 举报
回复
var reg=/^java$/i;
只能匹配“java”
/^java/i
这样就可以匹配你的javaXXX之类的了 一楼说的很对

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧