黑客与画家
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>的匹配规则是忽视了吗?
建议看下书《精通正则表达式》,系统学习下正则表达式,整个正则的字符串会被匹配,正则内每个括号的子字符也会被匹配,
看具体情况,有时候是匹配整体字符串有用,有时候是匹配子字符有用
比如,我写一个获取网站协议和主机的函数
getOrigin = function(){ var result = window.location.origin || window.location.href.match(/^([\w]+?:\/\/[^\/]+?)\//); return result[1]; }
result 是 ["http://imooc.com/", "http://imooc.com"],我需要不带斜线的版本,就可以用括号匹配子字符串
PHP进阶篇
181897 学习 · 2595 问题
相似问题