正则表达式

发布于:2024-06-07 ⋅ 阅读:(38) ⋅ 点赞:(0)

参考文章:

https://github.com/ziishaned/learn-regex/blob/master/translations/README-cn.md

https://www.zhihu.com/question/27793187/answer/943413381

一、基础匹配

a匹配a,b匹配b

举例:

“the” => the mat.The fat cat sat on

二、元字符

元字符 描述 举例
. 句号,匹配任意单个字符除了换行符。 “.” => The fat cat sat on the mat.
[ ] 匹配方括号内的任意单个字符 “[ao]” => The fat cat sat on the mat.
[^ ] 否定的字符种类。匹配除了方括号里的任意字符 “[^ao]” => The fat cat sat on the mat.
* *号之前的字符出现>0次 “a*” => The fat cat sat on the mat.
+ +号之前的字符出现>1次 “a+” => The fat cat sat on the mat.
? ?之前的字符出现0次或1次 “a?” => The fat cat sat on the mat.
{n,m} 匹配num个大括号之前的字符或字符集 (n <= num <= m). “[0-9]{2,3}” => The number was 9.9997 but we rounded it off to 10.0.
(xyz) 字符集,匹配与 xyz 完全相等的字符串. “cat” => The fat cat sat on the mat.
或运算符,匹配符号前或后的字符.
\ 转义字符,用于匹配一些保留的字符 [ ] ( ) { } . * + ? ^ $ \
^ 从开始行开始匹配. "^(T
$ 从末端开始匹配. “(at.)$” => The fat cat. sat. on the mat.

三、简写字符串

简写 描述
. 除换行符外的所有字符
\w 匹配所有字母数字,等同于 [a-zA-Z0-9_]
\W 匹配所有非字母数字,即符号,等同于: [^\w]
\d 匹配数字: [0-9]
\D 匹配非数字: [^\d]
\s 匹配所有空格字符,等同于: [\t\n\f\r\p{Z}]
\S 匹配所有非空格字符: [^\s]
\f 匹配一个换页符
\n 匹配一个换行符
\r 匹配一个回车符
\t 匹配一个制表符
\v 匹配一个垂直制表符
\p 匹配 CR/LF(等同于 \r\n),用来匹配 DOS 行终止符

四、练习题

例1:北美地区的电话号

编码方案:电话号码有一个3位数的区号和一位7位数的号码组成(这个7位数有分成 一个3位的局号和一个4位的路号,局号和路号之间使用连字符分隔) 每位电话号码可以是任意数字,但是区号和局号的第一位数字不能是0或1.实际书写号码是往往会把区号写在括号里面,或者将区号使用连字符和后面的局号连接起来。例如:(555)123-1234或555-123-1234,有时候在括号你里面会包含空格。例如:(555 )123-1234

文本:

248-555—1234

(313)555-1234

(810)555-1234

答案: [(]?[^01]\d{2}[-)]\d{3}[—-]\d{4}


例2:验证用户密码,长度在6~18 之间,只能包含英文和数字。

答案:1{6,18}$


  1. A-Za-z0-9 ↩︎


网站公告

今日签到

点亮在社区的每一天
去签到