匹配文字字符


匹配单个字符串

/ string /

匹配时忽略大小写


忽略当前匹配字符串大小写

/ string / i 

提取匹配项


match方法可以获取当前匹配的字符串实际的值

let name = "Aliyu";
let reg = /yu/i;
let temp = name.match(reg);
console.log(temp);   // ["yu", index: 3, input: "Aliyu", groups: undefined]

全局匹配

目前为止,只能使用简单的一次匹配,若要多次搜寻或提取匹配模式,你可以使用g标志

let repeatRegex = /Repeat/g;
testStr.match(repeatRegex);
// Returns ["Repeat", "Repeat", "Repeat"]
  • 正则表达式上可以有多个标志,比如/search/gi

用通配符.匹配任何内容

举个例子:

let exampleStr = "Let's have fun with regular expressions!";
let unRegex = /un./; 
let result = unRegex.test(exampleStr);
 

单个字符与多种可能性匹配


可以使用中括号[]的方式将你想匹配的string放进去:

比如下代码:

let quoteSample = "Beware of bugs in the above code; I have only proved it correct, not tried it.";
let vowelRegex = /[aeiou]/gi; // 修改这一行
let result = quoteSample.match(vowelRegex); // 修改这一行
console.log(result);

匹配字母表中的字母


字符集中,你可以使用连字符-)来定义要匹配的字符范围

例如,要匹配小写字母ae,你可以使用[a-e]

let catStr = "cat";
let batStr = "bat";
let matStr = "mat";
let bgRegex = /[a-e]at/;
catStr.match(bgRegex); // Returns ["cat"]
batStr.match(bgRegex); // Returns ["bat"]
matStr.match(bgRegex); // Returns null

匹配字母表中的数字和字母

使用连字符(-)匹配字符范围并不仅限于字母 还可以匹配一系列数字。

let quoteSample = "Blueberry 3.141592653s are delicious.";
let myRegex = /[h-s2-6]/ig; // 匹配 h-s 匹配 2-6 全局匹配 不管字母大小写
let result = quoteSample.match(myRegex); 

匹配单个未指定的字符


目前为止 可以创建所谓的否定字符集了,但是我自己的理解是,否定字符集其实就是不想匹配的string

在开始括号后面和不想匹配的字符前面放置插入字符(即^) [这^符号在键盘 6 上面]......

/[^aeiou]/gi匹配所有非元音字符 .注意,字符.![@/和空白字符等也会被匹配,该否定字符集仅排除元音字符

let quoteSample = "3 blind mice.";
let myRegex = /[^aeiou^0-99]/ig; // 匹配所有非数字或元音字符的正则表达式
let result = quoteSample.match(myRegex);
console.log(result);