以“你好”开头:^(?=你好)
不以“你好”开头:^(?!你好)
以“你好”结尾:(?<=你好)$
不以“你好”结尾:(?<!你好)$
注意:
1.“你好”可以换成任意的正则表达式;
2.在判断结尾的时候,使用了后视断言,注意后视断言有浏览器兼容性问题,如果是在浏览器中使用要测试一下是否支持,目前已知火狐好像是不支持的。判断以开头使用了前视断言,前视断言兼容性一般不会有问题。
3.“不以什么”实际上就是将等号换成了感叹号;
4.有人认为“不以什么”的场景可通过在程序中计算出布尔值之后取反就好了,实际上有些场景此法行不通。比如在表单验证的场景,验证方法往往只允许提供一个正则表达式不会给取反的机会,此时只能在正则表达式里面了实现取反的效果了。