5mins 上手正则表达式

Section. 1

1. ^abc$	精确匹配abc(开头^结尾$)
2. ^[abc]$	匹配单个字符a或b或c([]匹配单个字符)
3. ^[a-zA-Z]$	匹配单个字母(字母匹配简写)
4. ^[^a-zA-Z]$	匹配单个非字母字符(取反操作)
5. ^[a-zA-Z]{3}$	匹配3个字母({}匹配次数限制)
	{3}3个
	{3,}至少3个
	{3,5} 至少3个 至多5个
6. ^.{3}$  匹配3个任意字符(.匹配任意字符,除了回车符)

Section. 2

1. \d 相当于[0-9] 匹配单个数字
2. \D 相当于[^0-9] 匹配单个非数字字符
	[\d\D]匹配任意字符(包括回车符)
3. \w 相当于[a-zA-Z0-9_] 匹配单个字符(字母数字下划线)
4. \W 相当于[^a-zA-Z0-9_] 匹配单个字符(非字母数字下划线)
5. \s 相当于[\r\n\t\f\v ] 匹配单个字符(换行、空格、缩进、翻页)
6. \S 相当于[^\r\n\t\f\v ] 匹配单个字符(非换行、空格、缩进、翻页)
7. \. 匹配点 需要前加\转义

Section. 3

1. \w? 相当于\w{0,1} 字符出现0次或1次(? 匹配0次或1次)
2. \w* 相当于\w{0,} 字符出现0次到无穷次(* 匹配0次到无穷次)
3. \w+ 相当于\w{1,} 字符出现1次到无穷次(+ 匹配1次到无穷次)

牛刀小试

[email protected]
匹配邮箱
^\w+@.+\.com$

Section. 4

1. 分组
^(\w+)@\w+\.com$

2. 分组命名 groupName g1
^(?\w+)@\w+\.com$

3. 组引用
1212
^(\d\d)\1$
^(?\d\d)\k$

4. 正向向前 ?=
foobar,fooboo
找bar前面的foo
foo(?=bar)

5. 反向向前 ?!
foobar,fooboo
找foo,后面不是bar
foo(?!bar)

6. 正向向后 ?<=
barfoo,boofoo
找bar后面的foo
(?<=bar)foo

7. 反向向后 ?

牛刀小试

aabc 成语匹配

^(?.)\k(?!\k)(?.)(?!\k|\k).$

你可能感兴趣的:(格物,正则表达式,regex)