正则表达式中零宽断言怎么使用

要求是这样的:将简单的网址:www.abc.com中的中间部分abc提取出来,我用正则是这样写的:

var reg=/(?<=\bwww\.)\w+(?=\.com\b)/;

结果浏览器报错了,检查几遍后没发现错误,估计是对零宽断言的理解不到位?

希望各位不令赐教哈

阅读 3k
2 个回答

JS 不支持 ?<=,这是报错的原因,你可以通过

var str = "www.abc.com";
var reg=/(?:\bwww\.)(\w+)(?=\.com\b)/;
reg.exec(str)[1];// "abc"

正则是用来匹配的,不是用来提取字符串的啊,你要提取字符串,写个js方法就是了,substr方法不就行了

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