正则表达式介绍

正则表达式

正则表达式(Regular Expression,简称正则或regex)是一种用于匹配文本模式的强大工具。
它被广泛应用于文本处理、数据验证、信息提取等领域。正则表达式使用特定的语法规则来描述文本的搜索模式。

正则表达式常见符号

  1. 元字符
    • .:匹配除换行符以外的任何单个字符。
    • \w:匹配一个单词字符(字母、数字或下划线)
    • \s:匹配一个空白字符(空格、制表符、换页符等)。
    • \d:匹配一个数字字符。
    • \b:匹配单词的开始或者结束。
    • ^:匹配字符串的开头。
    • $:匹配字符串的结尾。
  2. 转义字符
    • \.:表示一个普通的.字符。
    • \*:表示一个普通的*字符。
    • 等. . .
  3. 重复次数
    • *:重复零次或者更多次。
    • +:重复一次或者更多次。
    • ?:重复零次或者一次。
    • {n}:重复n次。
    • {n,}:重复n次或者更多次。
    • {n,m}:重复n到m次。
  4. 字符类[]
    • [abcdef]:匹配abcdef这几个字符中的任意一个字符。
    • [0-9]:匹配0-9中的任意一个数字。
    • [a-zA-Z0-9]:匹配a-z、A-Z、0-9的任意一个字符。
    • [.?!]:匹配标点符号。(.或?或!)
    • [abc-]:匹配abc-四个字符中的任意一个字符。(注意:-只能出现在末尾,如果-在中间则表示区间)
  5. 分支条件|
    • 0\d{2}-\d{8}|0\d{3}-\d{7}:这个表达式能匹配两种以连字符分割的电话号码。一种是三位区号,八位本地号(eg:010-12345678)。另一种是四位区号,七位本地号(eg:0376-1234567)。
  6. 分组()
    • (\d{1,3}.){3}\d{1,3}:是一个简单的ip匹配表达式,其中(\d{1,3}.)匹配由1到3个数字和一个点 . 组成的模式,重复三次。
  7. 反义
    • \W:匹配任意不是字母、数字、下划线、汉字的字符,相当于 [^a-zA-Z0-9_]
    • \S:匹配任意不是空白符的字符。
    • \D:匹配任意非数字的字符。
    • \B:匹配不是以单词开头或结束的位置。
    • [^x]:匹配除了x以外的任意字符。
    • [^aeiou]:匹配除了aeiou这几个字母以外的任意字符。