文字匹配
/正则表达式主体/修饰符(可选)
/dog/gi
| i | 执行对大小写不敏感的匹配。 |
|---|---|
| g | 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。 |
通配符
有时不(或不需要)知道匹配模式中的确切字符。 如果要精确匹配到完整的单词,那出现一个拼写错误就会匹配不到。 幸运的是,可以使用通配符 . 来处理这种情况。
通配符 . 将匹配任何一个字符。 通配符也叫 dot 或 period。 可以像使用正则表达式中任何其他字符一样使用通配符。 例如,如果想匹配 hug、huh、hut 和 hum,可以使用正则表达式 /hu./ 匹配以上四个单词。
将单个字符与多种可能性匹配
如果想要匹配 bag、big 和 bug,但是不想匹配 bog。 可以创建正则表达式 /b[aiu]g/ 来执行此操作。 [aiu] 是只匹配字符 a、i 或者 u 的字符集。
连字符(-)
在字符集中,可以使用连字符(-)来定义要匹配的字符范围。
例如,要匹配小写字母 a 到 e,你可以使用 [a-e]。
使用连字符(-)匹配字符范围并不仅限于字母。 它还可以匹配一系列数字。
例如,/[0-5]/ 匹配 0 和 5 之间的任意数字,包含 0 和 5。
此外,还可以在单个字符集中组合一系列字母和数字。
let jennyStr = "Jenny8675309";
let myRegex = /[a-z0-9]/ig;
jennyStr.match(myRegex);
否定字符集
要创建否定字符集,需要在开始括号后面和不想匹配的字符前面放置脱字符(即^)。
例如,/[^aeiou]/gi 匹配所有非元音字符。 注意,字符 .、!、[、@、/ 和空白字符等也会被匹配,该否定字符集仅排除元音字符。
匹配一次或多次出现的字符
可以使用 + 符号来检查情况是否如此。 记住,字符或匹配模式必须一个接一个地连续出现。 这就是说,字符必须一个接一个地重复。
例如,/a+/g 会在 abc 中匹配到一个匹配项,并且返回 ["a"]。 因为 + 的存在,它也会在 aabc 中匹配到一个匹配项,然后返回 ["aa"]。