javascript中正则表达式和ruby中的一点差异
2015-03-18 23:03
148 查看
看到一个例子,不过这个例子中正则表达式的格式貌似是错的:
代码的原意是给任意有名的Function实例对象添加返回其名称的方法get_name;不过其中正则的格式不怎么对,简单思考了一下很快用ruby语法写出了:
不过同样的正则格式在js中取得不对,貌似是贪婪的获取啊!?那么直接在*后面加?号吧:
总结一下,js中正则默认是贪婪模式,而ruby中则比较“谨慎”,这就是正则引擎的不同吗? :)
Function.prototype.get_name = function(){ return this.name || this.toString().match(/function\s*(\[^()*](/)[1]; }
代码的原意是给任意有名的Function实例对象添加返回其名称的方法get_name;不过其中正则的格式不怎么对,简单思考了一下很快用ruby语法写出了:
s = "function foo(x){...}" s.match(/function\s*(.*)\(/)[1] #返回"foo"
不过同样的正则格式在js中取得不对,貌似是贪婪的获取啊!?那么直接在*后面加?号吧:
foo.toString().match(/function\s*(.*?)\(/)
总结一下,js中正则默认是贪婪模式,而ruby中则比较“谨慎”,这就是正则引擎的不同吗? :)
相关文章推荐
- javascript中正则表达式和ruby中的一点差异
- javascript中正则表达式和ruby中的一点差异
- 注意:JavaScript的正则表达式跟.net的正则表达式有些差异。
- 注意:JavaScript的正则表达式跟.net的正则表达式有些差异。 -zz
- javascript正则表达式中用于replace的一点心得。
- JavaScript正则表达式的浏览器的差异
- 注意:JavaScript的正则表达式跟.net的正则表达式有些差异。
- JavaScript的正则表达式跟.net的正则表达式有些差异。
- 【JavaScript】正则表达式--String.replace()变量替换的一点笔记
- javascript中正则表达式应用学习_Split()
- Javascript 正则表达式测试页面
- 为一个正则表达式在输出和不输出情况下结果的差异感到十分疑惑!!!
- JavaScript正则表达式
- javascript中的正则表达式
- 调试工具系列--Javascript正则表达式(regular expression)调试工具(符合w3c)
- 读取javascript脚本的正则表达式
- 正则表达式使用详解 (php,perl,unix,javascript) (有点意思)
- 正则表达式使用详解 (php,perl,unix,javascript)
- javascript中正则表达式应用学习_test()
- 用正则表达式和javascript对表单进行全面验证