JavaScript - 正则表达式(一)

2019-10-15  本文已影响0人  ElricTang

一. 创建正则表达式

二. flags 标志(不包括ES6)

flags 描述
g 全局模式(global),匹配到一个后继续匹配,直到结束
i 不区分大小写模式(case-insensitive)
m 多行模式(multiline),遇到换行也不结束匹配,直到结束

三. pattern 模式

  1. 方括号[],用于查找字符
表达式 描述
[0-9] 匹配0-9内的字符
[a-z] 匹配小写26个字母
[A-Z] 匹配大写26个字母
[abc] 匹配a、b、c任意字符
[^abc] 匹配不是a、b、c的任意字符(在方括号内的^表示取非)
  1. 特殊字符
符号 描述
. 默认匹配除换行符之外的任何单个字符
$ 表示以某个字符结尾
| A|B匹配A或B
* 匹配前一个表达式0次或多次,等价于{0,}
+ 匹配前一个表达式1次或多次,等价于{1,}
? 匹配前一个表达式0次或1次,等价于{0,1}
{n} 匹配前一个表达式正好出现n次
{n,} 匹配前一个表达式至少出现n次
{n,m} 匹配前一个表达式至少出现n次,最多出现m次
^ []内表示取非,在外面表示以某个字符开头
\w 匹配字母数字下划线,等价于[a-zA-Z0-9_]
\W \w相反,等价于[^a-zA-Z0-9_]
\d 匹配数字,等价于[0-9]
\D 匹配非数字,等价于[^0-9]
\s 匹配一个空白字符,包括空格、制表符、换页符和换行符。等价于[ \f\n\r\t\v\u00a0\u1680\u180e\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]。
\S 匹配一个非空白字符。等价于 [^ \f\n\r\t\v\u00a0\u1680\u180e\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]。
\b 匹配一个词的边界,连续的数字、字母或下划线组成的字符串会认为一个单词
\B 匹配非单词边界
\0 匹配NULL
\n 匹配换行符
\f 匹配一个换页符
\r 匹配一个回车符
\t 匹配一个水平制表符(tab键)
\v 匹配一个垂直制表符
\xxx 匹配8进制数xxx对应的字符
\xhh 匹配16进制hh对应的字符
\uxxxx 匹配Unicode值字符
上一篇下一篇

猜你喜欢

热点阅读