看到一个例子,不过这个例子中正则表达式的格式貌似是错的:

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中的一点差异相关推荐

  1. oracle中正则表达式规则,Oracle中的正则表达式(及函数)详解

    1.概述 相信大家对正则表达式都不陌生,从linux下的命令到Java等编程语言,正则表达式无处不在,虽然我们实际使用的时候也并不一定太多,但是当我们要处理字符串时,它确实是一个强大的工具. 上一篇文 ...

  2. java matcher group方法_Java中正则表达式相关类中Matcher.group()方法

    ##简介 最近在做一个项目,需要使用matcher.group()方法匹配出需要的内容. ##分组 正则表达式 AA((A)(B(C))) group()方法是针对()来说的,group(0)指的是整 ...

  3. js中正则表达式提取字母中的数字:利用字符串方法match

    var aaa = "666kk88kk99" var bbb = / [0-9] / g // 表达式不是字符串,不能使用"引号括起来. var ccc = aaa.m ...

  4. ruby中!!_Ruby反向! 功能

    ruby中!! 逆转! Ruby中的功能 (reverse! function in Ruby) As the name suggests, reverse! function is used to ...

  5. 详解Javascript中正则表达式的使用

    章节目录 Javascript中正则表达式的使用 String.prototype.search方法 String.prototype.replace方法 String.prototype.split ...

  6. javascript中正则表达式的基础语法

    前面的话 正则表达式在人们的印象中可能是一堆无法理解的字符,但就是这些符号却实现了字符串的高效操作.通常的情况是,问题本身并不复杂,但没有正则表达式就成了大问题.javascript中的正则表达式作为 ...

  7. Ruby中的设计模式

    继续 上 节讲述过的Singleton . Proxy 及 Iterator各模式,本节再来考察几个别的设计模式.下面按顺序来考察 Prototype . Template Method 和 Obse ...

  8. shell中正则表达式详解_【转】【shell】正则表达式使用详解(一)

    入门简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.我们可以在几乎所有的基于UNIX系统的工具中找到正则表达式的身影,例如,vi编辑器,Perl或PHP脚本语言,以及awk或se ...

  9. js 正则中冒号代表什么_javascript中正则表达式语法详解

    好久都没有写博客了,主要是太懒了,尤其是在阳春三月,风和日丽的日子,太阳暖暖的照在身上,真想美美的睡上一觉.就导致了这篇博客拖到现在才开始动笔,javascript的正则这一块也不是什么新的东西,主要 ...

最新文章

  1. 电子科大博士生杨超火了!2年实现Science+Nature一作双杀
  2. 【 MATLAB 】信号处理工具箱的信号产生函数之 sawtooth 函数简记
  3. android6.0单独编译和调试framework源码的方法
  4. Teams Bot如何做全球化
  5. 100多千克的柠檬电池车可以开吗?
  6. dt决策树_决策树:构建DT的分步方法
  7. java注解 interface_java @FunctionalInterface注解详解
  8. 国科大高级人工智能3-DNN(BM/RBM/DBN/DBM)
  9. 高数复习9.13 函数与极限
  10. win10安装vmware tools + 无法拖拽文件解决
  11. Python版基于递归的冒泡排序算法
  12. centos7 安装sql_在Linux Distribution CentOS 7上安装SQL Server vNext CTP
  13. ffmpeg下载rtmp flv
  14. Android中的消息通知Toast和Notification
  15. 羊坊店不眠夜(续集)
  16. MySql统计函数COUNT详解
  17. IDEA突然不能输入中文
  18. Apache Hudi的编译及安装
  19. 如何高效的进行空值的填充
  20. package.json中private选项的作用

热门文章

  1. 商业方向的大数据专业_好程序员大数据培训分享大数据就业方向有哪些
  2. vba 正则表达式前后添加字符_不规则内容提取正则表达式
  3. chrome应用程序无法启动因为并行配置不正确_Win8打不开软件提示并行配置不正确的解决方法...
  4. 如何安装mysql 5.6_如何通过编译工具安装mysql 5.6
  5. sqlserver修改链接服务器,sqlserver怎么新建链接服务器
  6. linux中文件打包压缩,linux在文件打包和压缩
  7. java二进制 字节数组 字符 十六进制 BCD编码转换
  8. Java内部类实例测试及总结
  9. Python案例:求转置矩阵
  10. 《天天数学》连载08:一月八日