正则表达式学习笔记
什么是正则表达式?
正则表达式是一种用于匹配文本的工具,它通常由一些特定字符和语法组成。使用正则表达式可以快速、灵活地对文本进行搜索、替换等操作。
基础语法
字符类
.:表示任意字符。\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.comexample.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}$/
该正则表达式可以匹配符合中国大陆手机号格式的字符串,例如:
1391234567818888888888
URL 匹配
Copy Code/^(https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})([\/\w .-]*)*\/?$/
该正则表达式可以匹配符合 URL 地址格式的字符串,例如:
https://www.example.com/index.htmlwww.example.com/about.html