匹配非某字符开始的字符串,这个正则怎么写?

语言:JavaScript

要求匹配 hello,但不能匹配 abchello,这个正则该怎么写?想不出来 ...,,,

阅读 7.4k
8 个回答

js 只有后瞻,so 写不了 ...

console.log(/\bhello\b/.test('abchello')); // false
console.log(/\bhello\b/.test('hello')); // true

/^hello$/, 你可能是要qui匹配hello这个单词,其他的含有hello的不要,这样的话,只要一个hello,或者写成有abc的返回false,写两个也可以

js没有前瞻环视, 只能通过两次匹配来确定.

/^hello$/ig.test('abchello'); //false
/hello$/ig.test('abchello'); //true

原因:

^这个特殊字符表示以什么开始,如果想要随意匹配就将其去掉。
 同样地,$这个特殊字符是结束标志。

个人觉得还是用/\bhello\b/比较好,但是这个正则也无法很准确的匹配到,只能满足大多数情况,不能满足特殊的情况。这是因为js对正则支持不够完善的缘故,先可以这么将就着用

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进