正则表达式笔记(一)

  • ? 表示前面的字符可选。
  • +表示一个或多个。
  • *表示0个或多个。
  • [] 字符组或字符集 匹配方括号里限定的字符集。字符组简写式 \d=[0-9] 匹配任意阿拉伯数字。
  • \D =[^0-9]匹配任意的非数字字符 。
  • \w 这个简写式将匹配所有的单词字符。\D与\w的区别是\D会匹配空格、标点符号(引号、连字符、反斜杠、方括号)等字符,而\w却不会,它只匹配字母、数字和下划线。等同于字符组[_a-zA-Z0-9]。
  • \W 匹配非单词字符,匹配空格、标点以及其他非字母、非数字字符。等同于字符组[^_a-zA-Z0-9]
  • \s 匹配空白字符=[    \t\n\r]它会匹配:
    •空格 •制表符(\t) •换行符(\n) •回车符(\r)
  • \S 匹配非空白字符
  • .英文句号,是一个通配符可以匹配任意字符(但某些情况下不能匹配行起始符)。
  • {} 包含数字的花括号是一种量词(quantifier)。花括号本身用做元字符。表示字符出现的次数。
  • ^ 脱字符,表示匹配的字符串会出现在一行的起始位置。
  • $ 美元符$匹配一行结束位置。
  • () 一对圆括号表示捕获分组。
  • \1 表示后向引用。

例如先将一个\d放在一对圆括号中,这样就将它放入了一个分组中,
后面可以用\1来对捕获的内容进行后向引用:
(\d)\d\1
\1对括号内分组捕获的内容进行了反向引用。例如这个正则表达式可以匹配707,而不能匹配706。

例子

1、(\d{3}[.-]?){2}\d{4}
这个表达式匹配的字符串是连续两个无括号的三位数字,每三位数字后可以带连字符也可以不带,最后是一个四位数字

2、((\d{3})|\d{3}[.-]?)?\d{3}[.-]?\d{4}$

  • 出现在正则表达式起始位置或者竖线(|)之后的脱字符^,表示匹配的字符串会出现在一行的起始位置;
  • 左括号(为捕获分组的起始符;
  • (表示左括号本身;
  • \d匹配一位数字;
  • \d之后的{3}是量词,表示匹配三位数字;
  • )匹配右括号本身
  • 竖线符|表示选择,也就是从多个可选项中选择一个,换句话说,
    它表示“匹配一个不带括号的字符串或一个带括号的字符串”;
  • 脱字符^匹配行起始位置;
  • \d匹配一位数字;
  • {3}是表示匹配三位数字的量词;
  • [.-]?匹配一个可选的点号或连字符;
  • 右括号)为捕获分组的结束符;
  • 问号?表示分组可选,即分组中的前缀可有可无;
  • \d匹配一位数字;
  • {3}表示匹配三位数字的量词;
  • [.-]?匹配另一个可选的点号或连字符;
  • \d匹配一位数字;
  • {4}是表示匹配四位数字的量词;
  • 美元符$匹配行结束位置。

工具

你可能感兴趣的:(正则表达式笔记(一))