第一次接触正则

参考:https://deerchao.cn/tutorials/regex/regex.htm#mission

入门

  1. \bhi\b 查找hi,\b并不匹配这些单词分隔字符(空格,标点符号或者换行)中的任何一个,它只匹配一个位置
  2. \bhi\b.*\bLucy\b hi后面不远处跟着一个Lucy,.是另一个元字符,除了换行符以外的任意字符;*同样是元字符,它代表数量
  3. 0\d\d-\d\d\d\d\d\d\d\d 以0开头,然后是两个数字,然后是一个连字号“-”,最后是8个数字,\d是个新的元字符,匹配一位数字。
    简写:0\d{2}-\d{8} 这里\d后面的{2}({8})的意思是前面\d必须连续重复匹配2次(8次)

元字符

* 重复0次和更多次,而+则匹配重复1次或更多次,?匹配重复0次或1次
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束

重复

{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次

字符类

如果你想匹配没有预定义元字符的字符集合,在方括号里列出它们
[aeiou]匹配任何一个英文元音字母
[.?!]匹配标点符号(.或?或!)

分枝条件

如果满足其中任意一种规则都应该当成匹配,具体方法是用|把不同的规则分隔开
0\d{2}-\d{8}|0\d{3}-\d{7}这个表达式能匹配两种以连字号分隔的电话号码:一种是三位区号,8位本地号(如010-12345678),一种是4位区号,7位本地号(0376-2233445)

反义(难)

\W 匹配任意不是字母,数字,下划线,汉字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符

你可能感兴趣的:(第一次接触正则)