UDN-企业互联网技术人气社区

板块导航

浏览  : 4813
回复  : 16

[Web] JS正则表达式使用零宽断言报错

[复制链接]
蜡笔小新的头像 楼主
发表于 2014-7-31 19:33:12 | 显示全部楼层 |阅读模式
1000U币
本帖最后由 蜡笔小新 于 2014-7-31 19:38 编辑

使用(?<=exp)时报错,
比如/(?<=yonyou)\w+/g匹配
以yonyou开头的单词的后半部分,但js中报错。
求大神解惑。

btw:
求一个匹配URL的
javascript正则表达式
如下(
http://see.xidian.edu.cn/cpp/html/1435.html 第五个):
  1. ^(http|https|ftp)\://([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|localhost|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.(com|edu|gov|int|mil|net|org|biz|aRPA|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\?\'\\\+&%\$#\=~_\-]+))*$
复制代码

js无法直接使用,求js版....





最佳答案

相关帖子

发表于 2014-7-31 19:33:13 | 显示全部楼层
  1. var urlpattern = /^(http|https|ftp)\:\/\/([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|localhost|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(\:[0-9]+)*(\/($|[a-zA-Z0-9\.\,\?\'\\\+&%\$#\=~_\-]+))*$/;
  2.     alert(urlpattern.exec("http://www.yonyou.com"));
复制代码



使用道具 举报

回复

发表于 2014-8-3 18:49:07 | 显示全部楼层
JS不支持逆向环视啊。。。js的环视只支持
  • (?=pattern)
  • (?!=pattern)


所以你要整的话yonyou的那个正则的话,直接/yonyou(\w+)/ 就行,然后取结果中的分组1就ok

  1. var text = "yonyouzhangxd";
  2. var mreg = /yonyou(\w+)/;
  3.    
  4. var result = mreg.exec(text);
  5.     alert(result[1]);
复制代码




使用道具 举报

回复

发表于 2014-8-3 18:53:40 | 显示全部楼层
第二个正则表达式都不合法啊,该转义的都没有转义,仔细瞧瞧
使用道具 举报

回复

蜡笔小新的头像 楼主
发表于 2014-8-4 18:55:41 | 显示全部楼层
NsGFr 发表于 2014-8-3 18:49
JS不支持逆向环视啊。。。js的环视只支持
  • (?=pattern)
  • (?!=pattern)

  • 3Q了,还以为js有对应的方式呢
    使用道具 举报

    回复

    发表于 2014-8-11 09:32:16 | 显示全部楼层
    学习了:lol
    使用道具 举报

    回复

    发表于 2015-5-12 21:20:04 | 显示全部楼层
    回一次给10分?好奇怪
    使用道具 举报

    回复

    发表于 2015-5-12 21:20:07 | 显示全部楼层
    回一次给10分?好奇怪
    使用道具 举报

    回复

    发表于 2015-5-12 21:20:10 | 显示全部楼层
    回一次给10分?好奇怪
    使用道具 举报

    回复

    发表于 2015-5-12 21:20:14 | 显示全部楼层
    回一次给10分?好奇怪
    使用道具 举报

    回复

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关于我们
    联系我们
    • 电话:010-86393388
    • 邮件:udn@yonyou.com
    • 地址:北京市海淀区北清路68号
    移动客户端下载
    关注我们
    • 微信公众号:yonyouudn
    • 扫描右侧二维码关注我们
    • 专注企业互联网的技术社区
    版权所有:用友网络科技股份有限公司82041 京ICP备05007539号-11 京公网网备安1101080209224 Powered by Discuz!
    快速回复 返回列表 返回顶部