正则表达式

是一种用于匹配、查找或替换文本中特定模式的工具,广泛应用于编程、文本处理和数据提取等领域。

基本语法

单个字符匹配

. :匹配任意单个字符(除换行符 \n
\d :匹配数字(等价于 [0-9]
\w :匹配字母、数字或下划线(等价于 [a-zA-Z0-9_]
\s :匹配空白字符(空格、制表符 \t 、换行符 \n 等)
[abc] :匹配 a、b、c 中的任意一个字符
[^abc] :匹配 非 a、b、c 中的任意一个字符

量词(重复次数)

* :匹配前一个字符 0 次或多次
+ :匹配前一个字符 1 次或多次
? :匹配前一个字符 0 次或 1 次(表示可选)
{n} :匹配前一个字符恰好 n 次
{n,} :匹配前一个字符至少 n 次
{n,m} :匹配前一个字符 n 到 m 次

位置锚点

^ :匹配字符串的开头
$ :匹配字符串的结尾
\b :匹配单词边界(如空格或标点前后的位置)

分组与捕获

(abc) :将 abc 作为一个分组,并可捕获匹配内容
(?:abc) :非捕获分组(仅分组,不捕获)
| :或逻辑(如 a|b 匹配 a 或 b )

转义字符

\ :转移特殊字符(如 \. 匹配实际的点号)

常用示例

  1. 匹配邮箱地址
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
//开头不能为空       不能为空    转义.  至少两个字母结尾
  1. 匹配URL
https?://(?:www\.)?[a-zA-Z0-9-]+\.[a-zA-Z]{2,}(?:/\S*)?$
  1. 匹配日期(YYYY-MM-DD)
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
  1. 提取HTML标签中的内容
<([a-z]+)[^>]*>(.*?)</\1>
  1. 匹配手机号(中国大陆)
^1[3-9]\d{9}$

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