正则表达式

正则表达式是一种用来匹配字符串的规则语言。它常用于:

  • 检查输入是否合法(如用户名、邮箱、密码)

  • 从字符串中提取内容

  • 替换字符串中的某些部分

正则

意义

示例匹配

a

匹配字符 a

a 匹配 “a”

.

任意单个字符

. 匹配 “a”、“1”、”@” 等

\d

任意数字 [0-9]

\d 匹配 “3”

\w

字母、数字、下划线 [A-Za-z0-9_]

\w 匹配 “a”、“5”、”_”

\s

空白符(空格、换行等)

" "、\n

正则

意义

示例匹配

*

出现 0 次或多次

a* 匹配 “”, “a”, “aaa”

+

出现 1 次或多次

a+ 匹配 “a”, “aa”

?

出现 0 次或 1 次

a? 匹配 “”, “a”

{n}

出现 n 次

a{3} 匹配 “aaa”

{n,}

至少 n 次

a{2,} 匹配 “aa”, “aaa”, …

{n,m}

n 到 m 次之间

a{1,3} 匹配 “a”, “aa”, “aaa”

正则

意义

^

匹配行的开头

$

匹配行的结尾

正则

意义

示例

`

`

[]

匹配集合

[abc] 匹配 “a”、“b”、“c”

[^abc]

非集合

匹配不是 “a”、“b”、“c” 的字符

()

分组

(abc)+ 表示一个或多个 “abc”

示例:

1. 用户名(只能是字母、数字、下划线)

^[A-Za-z0-9_]+$

部分

含义

^

开头

[A-Za-z0-9_]

一个字符,可以是字母(大小写)、数字、下划线

+

出现一次或多次

$

结尾

2. 手机号

^1[3-9]\d{9}$

手机号以1开头,第二位为3~9的数字,后面再加上九个数字 

3. 匹配邮箱

^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$

部分

含义

^[A-Za-z0-9._%+-]+

用户名部分,可以包含字母数字、点、下划线等

@

必须包含 @

[A-Za-z0-9.-]+

域名主干部分,例如 gmail、163

\.

点(注意是转义的 .)

[A-Za-z]{2,}$

顶级域名,如 com、cn、net

 4. 身份证号码

^\d{17}[\dXx]$

部分

含义

^\d{17}

前17位是数字

[\dXx]

最后一位可以是数字或 X(大小写)

$

结尾

  1. httpshttps://regex101.com/

这个网站可以输入正则表达式和字符串,并匹配每一部分

 

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