意思是断言,只匹配一个位置。
例如:
想匹配一个“人”字,但是只想匹配中国人的人字,不想匹配法国人的人,就可以用一下表达式
(?=中国)人
所以,楼主的表达式与其他通配符连用才能起到效果。
(?=.*[a-z])\d+
这个就表示 匹配以“任意字符连着一个小写字母”开头的数字,只匹配数字。
(?<=exp)这个是放后面的。
正则表达式的其他模式修饰符的用法
1.(?=a):
console.log("我是中国人".replace(/我是(?=中国)/, "rr"))
打印出:rr中国人 (匹配的是中国前面的'我是')
2.(?!a):
console.log("我是中国人".replace(/(?!中国)/, "rr"))
打印出:rr我是中国人
3.(?:a):
console.log("我是中国人".replace(/(?:中国)/, "rr"))
打印出:我是rr人
4..(?<=a):
console.log("我是中国人".replace(/(?<=中国)人/, "rr"))
打印出:我是中国rr
5.(?<!a):
console.log("我是中国人".replace(/(?<!中国)/, "rr"))
打印出:rr我是中国人