正则表达式学习笔记
什么是正则表达式?
正则表达式是一种用于匹配文本的工具,它通常由一些特定字符和语法组成。使用正则表达式可以快速、灵活地对文本进行搜索、替换等操作。
基础语法
字符类
.
:表示任意字符。\d
:表示数字,等同于[0-9]
。\D
:表示非数字,等同于[^0-9]
。\w
:表示单词字符(字母、数字、下划线),等同于[a-zA-Z0-9_]
。\W
:表示非单词字符,等同于[^a-zA-Z0-9_]
。\s
:表示空白字符(空格、制表符、换行符等),等同于[ \t\n\r\f\v]
。\S
:表示非空白字符,等同于[^ \t\n\r\f\v]
。
重复次数
*
:表示前面的字符可以重复 0 次或更多次。+
:表示前面的字符可以重复 1 次或更多次。?
:表示前面的字符可以重复 0 次或 1 次。{n}
:表示前面的字符必须重复 n 次。{n,}
:表示前面的字符可以重复 n 次或更多次。{n,m}
:表示前面的字符可以重复 n 到 m 次。
边界匹配
^
:表示字符串开头。$
:表示字符串结尾。\b
:表示单词边界(单词字符和非单词字符的交界处)。\B
:表示非单词边界。
实例应用
邮箱地址匹配
Copy Code/^[\w.-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/
该正则表达式可以匹配符合邮箱地址格式的字符串,例如:
example@domain.com
example.lastname@domain.co.jp
手机号匹配
Copy Code/^(13[0-9]|14[5-9]|15[0-3,5-9]|16[6]|17[0-8]|18[0-9]|19[1,8,9])\d{8}$/
该正则表达式可以匹配符合中国大陆手机号格式的字符串,例如:
13912345678
18888888888
URL 匹配
Copy Code/^(https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})([\/\w .-]*)*\/?$/
该正则表达式可以匹配符合 URL 地址格式的字符串,例如:
https://www.example.com/index.html
www.example.com/about.html