请问加括号和不加为何一样呢?

来源:3-6 查找所有匹配结果

黑客与画家

2015-04-22 16:00

请问

/<li>.*</li>/


/<li>(.*)</li>/

加括号和不加为何一样呢?

/<li>.*</li>/匹配结果有<li>item 1</li>和<li>item 2</li>;

/<li>(.*)</li>/匹配的结果有还单独包括item1和item2,这样前后两个<li>和</li>的匹配规则是忽视了吗?



写回答 关注

1回答

  • 码客菠萝
    2015-04-23 17:09:41
    已采纳

    建议看下书《精通正则表达式》,系统学习下正则表达式,整个正则的字符串会被匹配,正则内每个括号的子字符也会被匹配,

    看具体情况,有时候是匹配整体字符串有用,有时候是匹配子字符有用

    比如,我写一个获取网站协议和主机的函数

    getOrigin = function(){
        var result = window.location.origin || window.location.href.match(/^([\w]+?:\/\/[^\/]+?)\//);
         return result[1];
    }

    result 是 ["http://imooc.com/", "http://imooc.com"],我需要不带斜线的版本,就可以用括号匹配子字符串

    黑客与画家

    非常感谢!

    2015-04-28 19:16:30

    共 1 条回复 >

PHP进阶篇

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

181897 学习 · 2595 问题

查看课程

相似问题