当前位置:文档之家› 正则表达式语法表

正则表达式语法表

正则表达式语法表
正则表达式是一种用于匹配字符串中字符组合的模式,通常被用于各种文本搜索和替换操作。

在JavaScript 中,正则表达式也是对象,这些模式被用于RegExp 的exec 和test 方法,以及String 的match 和replace 方法。

正则表达式有两种主要类型:基本正则表达式(BRE)和扩展正则表达式(ERE)。

BRE 是最基本的正则表达式类型,其语法类似于基本的字符匹配运算符。

而ERE 提供了更高级的功能,可以匹配更多的字符组合。

下面是常见的正则表达式元字符及其含义:
- . : 匹配除换行符以外的任意单个字符。

- ^ : 匹配行的开头。

- $ : 匹配行的结尾。

- * : 匹配前面的子表达式零次或多次。

例如,zo*能匹配"z"以及"zoo"。

- + : 匹配前面的子表达式一次或多次。

例如,"zo+"能匹配"zo"以及"zoo",但不能匹配"z"。

- ? : 匹配前面的子表达式零次或一次。

例如,do(es)?可以匹配"do"或"does"中的"do"。

- {n} : n是一个非负整数。

匹配确定的n次。

例如,o{2}不
匹配"Bob"中的"o",而是匹配"food"中的两个"o"。

- {n,} : n是一个非负整数。

至少匹配n次。

例如,o{2,}不匹配"Bob"中的"o",但匹配"foooood"中的所有"o"。

'o{1,3}'将匹配"o"和"ooo"。

- {n,m} : m和n均为非负整数,其中n <= m。

最少匹配n 次且最多匹配m次。

例如,o{1,3}将匹配"o"、"oo"或"ooo "。

注意:逗号和两个表达式之间必须有空格。

此外,还有一些特殊字符需要转义才能在正则表达式中使用,包括:
- \b : 匹配单词边界,例如:"er\b"可以匹配"neverwhere" 中的"er",但不能匹配"verb" 中的"er"。

- \B : 匹配非单词边界。

'er\B'将不匹配"neverwhere" 中的'er',但会匹配"verb" 中的'er'。

- \\ : 用于转义元字符。

- [...] : 定义一个字符集合。

例如,[abc]与a、b和c中的任何一个字符匹配。

以上是常用的正则表达式元字符及其含义,当然还有更多的元字符可以使用,可以根据实际需求灵活运用。

相关主题