正则表达式

常用符号

*
匹配前面的字符、子表达式或括号里的字符 0 次或多次
+
匹配前面的字符、子表达式或括号里的字符至少1 次
[]
匹配任意一个字符(相当于“任选一个”)
()
表达式编组(在正则表达式的规则里编组会优先运行)
{m,n}
匹配前面的字符、子表达式或括号里的字符 m 到n 次(包含 m 或 n)
[^]
匹配任意一个不在中括号里的字符
|
匹配任意一个由竖线分割的字符、子表达式(注意是竖线,不是大字字母 I)
.
匹配任意单个字符(包括符号、数字和空格等)
^
指字符串开始位置的字符或子表达式
\
转义字符(把有特殊含义的字符转换成字面形式)
$
经常用在正则表达式的末尾,表示“从字符串的末端匹配”。如果不用它,每个正则表达式实际都带着“.*”模式,只会从字符串开头进行匹配。这个符号可以看成是 ^ 符号的反义词
?!
“不包含”。这个奇怪的组合通常放在字符或正则表达式前面,表示字符不能出现在目标字符串里。
这个符号比较难用,字符通常会在字符串的不同部位出现。如果要在整个字符串中全部排除某个
字符,就加上 ^ 和 $ 符号

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

简单举例

1、重复任意次a,包括0次

  aa*

  a*b,任意个a,最后出现1个b

2、重复5次出现

  bbbbb

3、任意偶数个字符重复,包括0次

  (cc)*

4、或关系,可能出现也可能不出现

  (d|)  

  b(a|i|e)d,比如bad,bid,bed

5、范围内的任意一个字符  

  [A-Z]  表示大写字母A ~ Z

  [a-z]

  [0-9]

6、范围内的字符可多次出现,至少出现1次

  []+ 

  []*  则可出现0次           

7、标点符号,如.

  \.

8、匹配任意单个字符  

  b.d,比如bad,bzd,b$d,b d
 
9、字符串a开始的位置
  ^a,比如:apple,asdf,a
 
 

案例:

邮箱的正则表达式:[A-Za-z0-9\._+]+@[A-Za-z]+\.(com|org|edu|net)

 

 

 

 

学习地址:https://www.regexpal.com/

posted @ 2021-05-28 16:47  SpriteGirl  阅读(152)  评论(0)    收藏  举报