摘要:可视化查看正则表达式复杂版,很直观,神器一枚可视化查看正则表达式简化版
常见需求如下:
如果你只需要获取字符串中的首个匹配项
var re = /quicks(brown).+?(jumps)/ig; var result = re.exec("The Quick Brown Fox Jumps Over The Lazy Dog"); // 就算有 g 标识,通过 exec 也只能获取到首个匹配项 // result[0]: Quick Brown Fox Jumps
使用了 g 标识时(不使用时以下方法也适用),如果你想获取正则中的组匹配(capture groups)信息
var re = /quicks(brown).+?(jumps)/ig; var result = re.exec("The Quick Brown Fox Jumps Over The Lazy Dog"); // index 1~n 就是组匹配到的结果(此处正则中有两个括号,则 n 为 2) // result[1]: Brown // result[2]: Jumps
关于 exec 的更多详细说明可以查看 MDN 文档 RegExp.prototype.exec()
不使用 g 标识时,如果你想获取正则中的组匹配(capture groups)信息
"mockid=272;其他说明文字……".match(/mockid=(d+);/i) // ["mockid=272;", "272", index: 0, input: "mockid=272;其他说明文字……"] // 如果加上 g 标识,就只能得到 ["mockid=272;"]
匹配多种可能出现的值,获取最终匹配到的值
"GET/path/to/some/place".match(/^(GET|POST|PUT|DELETE)/gi) // 输出:["GET"]
关于 match 的更多详细说明可以查看 MDN 文档 String.prototype.match()
只想知道是否匹配某个正则(true or false)
// RegExp.prototype.test() var str = "hello world!"; var result = /^hello/.test(str); console.log(result); // true
关于 test 的更多详细说明可以查看 MDN 文档 RegExp.prototype.test()
// String.prototype.search() var str = "hey JudE"; var re = /[A-Z]/g; var re2 = /[.]/g; console.log(str.search(re)); // returns 4, which is the index of the first capital letter "J" console.log(str.search(re2)); // returns -1 cannot find "." dot punctuation // 因此可以直接判断返回负值时匹配结果为 false
关于 search 的更多详细说明可以查看 MDN 文档 String.prototype.search()
对匹配成功的字符串进行处理
function replacer(match, p1, p2, p3, offset, string) { // p1:([^d]*) p2:(d*) p3:([^w]*) // p1 非数字, p2 数字, p3 非文字 return [p1, p2, p3].join(" - "); } var newString = "abc12345#$*%".replace(/([^d]*)(d*)([^w]*)/, replacer); console.log(newString); // abc - 12345 - #$*%推荐正则工具:
RegExr
非常好用的一个正则编写工具,我会点开左侧菜单栏里的 cheatsheet 来学习编写符合我需求的正则表达式。
Debuggex
可视化查看正则表达式(复杂版),很直观,神器一枚
Regexper
可视化查看正则表达式(简化版)
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/93214.html
摘要:于是对应着,对应着输出月日年九前瞻正则表达式从文本头部想稳步开始解析,文本尾部方向,称为前。只是条件不参与匹配找英文数字下划线而且后面跟着数字的。 基础知识 一 元字符 单词边界 d 数字 [0-9] w 英文 数字 下划线 [a-z0-9_] s 空白字符[ v f] 水平制表符,v垂直制表符, 换行符, 回车符,f换页符 反义 B 非单词边界 D [^0-9] W [^...
摘要:于是对应着,对应着输出月日年九前瞻正则表达式从文本头部想稳步开始解析,文本尾部方向,称为前。只是条件不参与匹配找英文数字下划线而且后面跟着数字的。 基础知识 一 元字符 单词边界 d 数字 [0-9] w 英文 数字 下划线 [a-z0-9_] s 空白字符[ v f] 水平制表符,v垂直制表符, 换行符, 回车符,f换页符 反义 B 非单词边界 D [^0-9] W [^...
阅读 2439·2021-11-17 09:33
阅读 707·2021-11-04 16:13
阅读 1307·2021-10-14 09:50
阅读 664·2019-08-30 15:53
阅读 3637·2019-08-30 14:18
阅读 3251·2019-08-30 14:14
阅读 2070·2019-08-30 12:46
阅读 3164·2019-08-26 14:05