正则表达式
描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
$ 正则表达式的开始
^ 正则表达式的结束
数量匹配
字符 | 说明 | 示例 |
---|---|---|
一般字符 | 匹配自身 | |
? | 匹配0个或1个前一个字符 | |
* | 匹配0个或多个前一个字符 | |
+ | 匹配1个或多个前一个字符 | |
. | 匹配1个任意字符 | |
{n} | 匹配n次前一个字符 | |
{n,} | 至少匹配n次前一个字符 | |
{n,m} | 匹配n到m次前一个字符 |
边界匹配
字符 | 说明 | 示例 |
---|---|---|
(…) | 将( )内的类容作为一个整体进行匹配 | |
[…] | 匹配[ ]中的字符,可使用-^I |
逻辑匹配
字符 | 说明 | 示例 |
---|---|---|
I | 或 | |
^ | 非 | |
- | 至 | |
\ | 转义 |
预定义匹配
字符 | 说明 | 示例 |
---|---|---|
\d | 匹配数字[0-9] | |
\D | 匹配非数字 | |
\s | 空白字符[空格、\t、\r、\n、\f、\v] | |
\S | 非空白字符 | |
\w | 匹配单词字符 | |
\W | 匹配非单词字符 | |
\A | 仅匹配开头字符串 | |
\Z | 仅匹配结尾字符串 | |
\b | 匹配\w和\W之间 | |
\B | 匹配非\b |
正则表达式的使用
Java中使用
public static void main(String[] args) {
// ①
String s = "需要匹配的字符串";
s.matches("正则表达式");
// ②
Pattern p = Pattern.compile("正则表达式");
Matcher m = p.matcher("需要匹配的字符串");
System.out.println(m.matches());// 判断是否匹配
}
mysql中使用正则表达式
SELECT * FROM 表名 WHERE 字段名 REGEXP '正则表达式';
Js中使用
var reg = new RegExp("正则表达式");
var str = "需要匹配的字符串";
reg.test(str);