一、术语与操作符

1)精确匹配

如果一个字符不是特殊字符或操作符,则表示该字符必须在表达式中出现。

例如“/test/”,就表示“t”后面跟着“e”,“e”后面跟着“s”,“s”后面跟着“t”。

 

2)匹配一类字符

很多时候是想匹配一个有限字符集中的某一个字符。

例如“[abc]”,就是要匹配“a”、“b”或“c”中的任意一个字符。

例如“[^abc]”,就是除了“a”、“b”、“c”之外的任意字符。

例如“[a-m]”,就是从“a”到“m”之间的任意字符。

 

3)转义

并不是所有字符和其字符字面量都是等价的。

例如匹配“$”、“.”这种特殊字符,需要添加“\”反斜杠,“\$”、“\.”。

 

4)匹配开始与匹配结束

经常需要确保模式匹配一个字符串的开始,或者一个字符串的结束。

/^test/”表示以“test”开始,“/test$/”表示以“test”结尾。

 

5)重复出现

1. “”表示出现一次或不出现,例如“/t?est/”可以匹配“test”或“est”。

2. “+”表示出现一次或多次,例如“/t+est/”可以匹配“test”、“ttest”。

3. “*”表示出现零次或多次,例如“/t*est/”可以匹配“est