这两个函数除了调用对象以及参数不同之外,<javascript高级程序设计>中对exec描述比较详细,对match只是说返回数组跟exec一样.书中并没有说只说了正则在非全局模式下的情况,但是其实在正则全局模式下则有很大区别. 一.非全局模式下 在非全局模式下,两种方法返回结果相同,我们以match为例. 我们首先来看代码 var str="cat,bat,sat"; var pattern=/.at/; var matches=str.match(pattern); co…
match属于字符串的方法,exec属于正则表达式的方法.其中regex是否有g标志的区别经常搞不清,所以测试记录下. 1.str.match(regex) regex中无g标志 返回一个数组,arr[0]代表匹配项,arr[≥1]代表捕获的group.index是匹配项的第一个字符索引,input代表str字符串. 2.str.match(regex) regex中有g标志 返回一个数组,arr[0]代表第一个匹配项,arr[1]代表第二个匹配项...,length代表有几个匹配项,没有捕获的…
方法作用:匹配指定的正则表达式并将结果放在$match数组中 代码示例: $p = '/name:([\\ws]+)/'; $str = "name:steven jobs"; preg_match($p, $str, $match); var_dump($match); //结果为:steven jobs 输出结果: array(2) { [0]=> string(11) "name:steven" [1]=> string(6) "stev…
string.match(RegExp) 与 RegExp.exec(string) 相同点与不同点对比解析: 1. 这两个方法,如果匹配成功,返回一个数组,匹配失败,返回null. 2. 当RegExp的global属性为false时,这两个方法的返回数组是一样的. 数组的第0个元素是整个str的第一个匹配字符串,接下来的元素是str第一个匹配中的子匹配字符串. 此外,数组还有index和input两个额外属性,index是匹配字符串的起始位置,input是整个输入字符串. 此时,RegExp…
1. Match函数 使用指定的正则表达式函数对字符串惊醒查找,并以数组形式返回符合要求的字符串 原型:stringObj.match(regExp) 参数: stringObj 必选项,需要去进行匹配的字符串 RegExp  必选项,指定的正则表达式 返回值:如果没有使用g(全局匹配)选项,则返回第一个匹配的字符串.该字符串所在位置及原始字符串组成的数组,如果使用g选项,则返回所有匹配的字符串组成的数组 示例1:    var str = “aaabbbcccaaabbbccc”;    va…
1. Match函数 使用指定的正则表达式函数对字符串惊醒查找,并以数组形式返回符合要求的字符串 原型:stringObj.match(regExp) 参数: stringObj 必选项,需要去进行匹配的字符串 RegExp 必选项,指定的正则表达式 返回值:如果没有使用g(全局匹配)选项,则返回第一个匹配的字符串.该字符串所在位置及原始字符串组成的数组,如果使用g选项,则返回所有匹配的字符串组成的数组 示例1: var str = “aaabbbcccaaabbbccc”; var res =…
今天突然被问到了正则表达式,因为长时间不用突然不知道怎么用了,只知道有这么个东西.然后去网上查了一下,感觉写的不少,但解释的有点模糊,今天我来浅谈一下. 1,match的用法 A,在不加全局“g”的情况下: var str="wo shi zhong guo ren"; console.log(str.match(/o/)); 返回的结果是:["o", index: 1, input: "wo shi zhong guo ren"]: A,在加全…
test:测试string是否包含有匹配结果,包含返回true,不包含返回false. <script type="text/javascript"> var str = "bbs.byr.cn"; var reg = /b/; var ret = reg.test(str); alert(ret); //true </script> match:根据pattern进行正则匹配,如果匹配到,返回匹配结果,如匹配不到返回null <scr…
String是一个非常常用的类,应该深入的去了解String 如: String str =new String("abc") String str1 = "abc" System.out.println(str == str1) System.out.println(str.equal(str1)) 结果: false true 原因解析: Java运行环境有一个字符串池,由String类维护,执行语句String str="abc"时 1.…
问:String str=new String("a")和String str = "a"有什么区别? 答:String str = "a"; 这个只是一个引用,内存中如果有“a"的话,str就指向它:如果没有,才创建它;  如果你以后还用到"a"这个字符串的话并且是这样用:  String str1 = "a"; String str2 = "a"; String str2…