正则表达式

6

正则表达式一般是由// 这样两个斜线包起来的,第二个斜线后面可以加上一些参数。实例:/([A-Z])\w+/g

/at/ 即可匹配所有带at字母的字符。

. 表示除了换行符外的任意一个字符。/at./ 可以匹配at加上其后的一个字符,/.at/可以匹配at加上前面的一个字符,/a.t/ 可以匹配at中间有一个字符的单词

当然可以连续多写一个点,一个点就是一个字符,两个就是两个

如果不想匹配所有的字符,只想匹配特定的字符,就可以使用中括号来限定,比如:/at[ce]/

这样就会匹配带c或e的字符。中括号中也可使用- 来表示匹配范围,比如/at[a-z]/ 就可以匹配at与a-z的小写字母,/at[a-zA-Z]/ 就也可以匹配大写字母的。使用^ 可以取反,/at[^a-z]/ 就是匹配at,但除所有a-z的小写字母开外,使用尖括号那么这个中括号里面所有的内容都是取反的。如果尖括号写在外面就表示匹配每一行的开头。$ 符表示匹配每一行的结尾

\d 表示数字 。\w 表示字母数字或下划线,\W 就是取反。\s 表示空白字符\b 可以匹配一个单词的边界,两个单词之间。

/.$/ 这么写是存在问题的,因为点在正则表达式中就是一个特殊字符,这时候我们就需要再前面加上反斜杠来进行转译:/\.$/

/at+/ 可以匹配attttttttt 。/at*/ 无论后面有没有t,有多少个t都会被匹配。/at?/ 只会匹配a与at,问号表示前面的字符重复了零次或一次。/at{3}/ 就会匹配attt,也可以通过/at{3-5}/ 来表示三到五的范围.

/at{3,}/ 会直接匹配atttttttt,这个机制叫贪婪匹配,只要后面有t就会一直匹配,/at{3,}?/ 只要匹配到3个t就会停止

/a|b/ 可以表示或者

/(P|p)attern/