首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

正则里exec跟match的区别

一、 exec match分别是谁家的方法 exec是RegExp类的方法 match是String类的方法 分清楚是各是哪里的方法之后,就知道怎么使用了 栗子: /hello/.exec('hello...match 是否返回所有匹配的数组跟正则表达式里是否带着g有关系 const str = 'd3aish hello world d5aisy'; const reg = /\dai/...; // 先看没有g的情况 console.log(str.match(reg)); console.log(reg.exec(str)); // 这时候就会返回同一个数组['3ai'],原因是第一个...(str)); //这时候第一个就会返回['3ai','5ai'],而第二个就会返回跟上面一样的['3ai'],结果符合预期 那什么情况下match的结果会跟exec一样呢,对正则的要求是 不带g呗~..."2","1"] 总的来说,exec跟match的区别有两点,首先是不同类的方法, 其次是否跟g有关。

1K20
您找到你想要的搜索结果了吗?
是的
没有找到

基础 | 正则里exec跟match的区别

一、 exec match分别是谁家的方法 exec是RegExp类的方法 match是String类的方法 分清楚是各是哪里的方法之后,就知道怎么使用了 栗子: /hello/.exec('hello...world'); 'hello world'.match(/'hello'/); 二、 区别 简单来说,跟g有关系 exec 只会匹配第一个符合的字符串(意味着g对其不起作用),跟所有分组的反向引用...match 是否返回所有匹配的数组跟正则表达式里是否带着g有关系 接下来看看有g的情况下 那什么情况下match的结果会跟exec一样呢,对正则的要求是 不带g呗~ 还是举个栗子 这段代码两个函数都返回...["version2.1","version","2","1"] 总的来说,exec跟match的区别有两点,首先是不同类的方法, 其次是否跟g有关。

68920

js正则小结

1,\ 斜杠用于转义,在js正则里,只有一些元字符(*,?,.等)和\本身需要转义,其他的不需要转义,如果其他的字符前面使用了\,可能会产生负面影响,比如\b,\t这些有特殊含义的转义。...此外,在js正则中,\还有一个用处在于使用new RegExp()形式创建正则对象时,比如new RegExp('a\*a'),其中*是乘以的意思,js引擎在解析该正则表达式字符串时,会消耗掉这个斜杠,...'d\nd'.match(/^d/g) => ['d'], 'd\nd'.match(/^d/mg) => ["d", "d"] 3 $ 该元字符和^一样,当含义$的正则匹配一个字符串时,他不是直接判断该字符串的结尾...'d\nd'.match(/d$/g) => ['d'], 'd\nd'.match(/d$/mg) = > ["d", "d"] 4 * + ?...'ddd'.match(/d{1,11}/) => ddd, 'ddd'.match(/d{1,11}?/) => d。 5 .

7.6K50

Js正则Replace方法

JS正则的创建有两种方式: new RegExp() 和 直接字面量。...就是匹配最多由1个字母或数字组成的字符串 六、test 、match 前面的大都是JS正则表达式的语法,而test则是用来检测字符串是否匹配某一个正则表达式,如果匹配就会返回true,反之则返回false.../\d+/.test("123") ; //true /\d+/.test("abc") ; //false match是获取正则匹配到的结果,以数组的形式返回 "186a619b28".match...第2个参数可以是一个普通的字符串或是一个回调函数 如果第1个参数是RegExp, JS会先提取RegExp匹配出的结果,然后用第2个参数逐一替换匹配出的结果 如果第2个参数是回调函数,每匹配到一个结果就回调一次...:记录本次匹配的开始位置 source:接受匹配的原始字符串 以下是replace和JS正则搭配使用的几个常见经典案例:  (1)实现字符串的trim函数,去除字符串两边的空格 String.prototype.trim

11.8K100

Match

Match对象是一次匹配的结果,包含了很多关于此次匹配的信息,可以使用Match提供的可读属性或方法来获取这些信息。 属性: string: 匹配时使用的文本。...pos: 文本中正则表达式开始搜索的索引。值与Pattern.match()和Pattern.seach()方法的同名参数相同。 endpos: 文本中正则表达式结束搜索的索引。...值与Pattern.match()和Pattern.seach()方法的同名参数相同。 lastindex: 最后一个被捕获的分组在文本中的索引。如果没有被捕获的分组,将为None。...import re m = re.match(r'(\w+)(\w+)(?P.*)', 'hello world!')...print('m.endpos:', m.endpos) # 文本中正则表达式结束搜索的索引 print('m.lastindex:', m.lastindex) # 最后一个被捕获的分组在文本中的索引

98150

python五十六课——正则表达式(常用函数之match

函数:match(regex,string,[flags=0]) 参数: regex:就是正则表达式(定义了一套验证规则) string:需要被验证的字符串数据 flags:模式/标志位,默认情况下(不定义...有两个元素组成; 第一个元素记录了匹配成功的起始索引 第二个元素记录了匹配成功的结束索引 groups():返回所有子组的信息,以元祖的形式返回;如果没有分组,返回空元祖对象 【注意事项】: 1).正则表达式返回的索引值需要满足含头不含尾的特点...2).正则表达式验证的数据内容严格区分大小写 3).我们之后在定义正则规则的时候,在引号前面+一个r,无脑操作... import re matchobj=re.match(r'www','www.baidu.com...').group()) print(re.match(r'www','www.sina.com').start()) print(re.match(r'www','www.sina.com').end(...(re.match(r'WWW','www.sina.com')) print(re.match(r'WWW','www.sina.com',flags=re.I)) ''' 使用第二种方式实现正则对数据的验证

46220
领券