这几天写 String methods 的时候,在句法里发现(regexp)这个词,查了一下原来是 Regular Expression 的缩写,也就是正规表示式(或称正则表达式、规则运算式)。
wiki 解释:
过去使用 indesign 排版的经验,觉得语法似曾相识,原来 grep 就是正规表达式的一种。下图为用 indesign 排版,字母与数字遇到中文字的情况,段落 1 是不留空白,段落 2 会自动加空白的举例。
段落 2 的 grep 设定如下图,在 indesign 可以直接打指令或用图形化介面选取需要的功能。
正规表达式是用於匹配字串中字元组合的模式。--MDN
很饶舌但好像没有更精简的说法,简单的说就是寻找字串里面有没有符合你设定的正规表达式,而在 JavaScript 中,正规表达式也是物件的一种。
正规表达式有两种写法:
let re = /ab+c/;
let re = new RegExp('ab+c');
RegExp 的这个方法,他可以检查字串里是否有匹配的字元组合,并且回传 true 或 false。
基本的使用方式,就是将要搜寻的字串写进 /
内直接检查,如下例:
/abc/.test("abc"); // true
那刚刚上面举例的 /ab+c/
是什麽意思?regexp 有许多特殊字元可以搭配使用,+
是重复 1 次或多次的意思,*
是重复 0 次或多次,来看测试结果。
/ab+c/.test("ac") // false
/ab+c/.test("abc") // true,一次
/ab+c/.test("abbbbbc") // true,多次
/ab*c/.test("ac") // true,0 次
/ab*c/.test("abc") // true
/ab*c/.test("abbbbbc") // true
除了特殊字元,还有很多代表的符号列如一些较常用的:
x|y
符合 x 或 y,用 |
分隔字符,可以像这样 w|x|y|z,一直或或或或或下去。
\d
符合数字 0-9
\s
符合空白
\w
符合数字跟字母与底线[A-Za-z0-9_]
MDN-正规表达式
wiki-正规表示式
前端藏宝图系列 第 6 篇 深不可测的海 - Regular Expression
<<: JavaScript Day28 - HTTP 网路请求
我们今天来聊聊TensorFlow运算的几个较为常用的方法,不像其他语言的加减乘除,TensorFl...
很多时候,刚程序开启後有可能因为使用者操作的因素就让正在跑的程序被盖住了。尤其是在使用键盘滑鼠精灵控...
Day14 - Kotlin的类别 昨天我们把集合结束掉了,今天我们就来讲Kotlin的类别吧,过了...
回圈有两种语法可以使用,分别是while与for回圈,今天这篇会先来讲到while回圈的部分。 基本...
▉估狗『各国 个资法』 就~如标题,既昨天的笔记,想看看,那各国的个资法是?? 然後就看到这个『隐私...