正则

首尾

注:大多软件、方法会默认,无需手动添加

// 全文查找出现的所有匹配字符
/……/g

// 全文查找、忽略大小写
/……/ig
基础
// *:匹配前面的子表达式零次或多次
// +:匹配前面的子表达式一次或多次
// ?:匹配前面的子表达式零次或一次
// .:匹配除换行符 \n 之外的任何单字符
// |:或
// ():标记一个子表达式的开始和结束位置,可多个
// ^:按行区分,开头
// $:按行区分,结尾
// {n}:匹配确定的 n 次
// {n,}:至少匹配 n 次
// {n,m}:最少匹配 n 次且最多匹配 m 次
// .*:匹配所有字符
// \d:匹配所有数字,等同[0-9],\d*:匹配所有数字
// \D:匹配非数字字符
// \s:匹配所有空白字符
// \S:匹配所有非空白字符
// \w:匹配字母、数字、下划线。等价于 [A-Za-z0-9_]
// \W:匹配任何非单词字符
// \B:匹配不是单词开头或结束的位置
// [A-Z]:匹配所有大写字母
// [a-z]:匹配所有小写字母
// [^x]:匹配除了x以外的其他内容
// \b:字符边界,按\w的内容区分,
按行匹配
// 空白行
\n\s*\r

// 匹配每个< >号之间的所有内容,若去除?号,则表示从第一个<到最后一个>号之间的所有内容
<.*?>

// 匹配开头为aa 结尾为两位数的行数据
^aa.*[1-9][0-9]$

// 匹配每行开头为aa,结尾为4中的所有内容,如:21 aa23 21 234 12 中的 aa23 21 234
// \b:字符边界
\baa.*4\b

// 匹配以数字开头相邻字母结尾的内容 如:23bdd4 cs3 a 中的 3bdd,若去除+号,则匹配为3b
([0-9])([a-z]+)

// 匹配包含-,t,a的所有字符
[-ta]

// 匹配除了-,t,a外的其他所有字符
[^-ta]

// 匹配数字前面的aa,如:aa4aa  则取第一个aa
// ?=:取前面的内容
aa(?=\d+)

// 匹配数字后面的aa,如:aa4aa  则取第二个aa
// ?<=:取后面的内容
(?<=\d+)aa

//匹配aa后面不是数字的aa,如:aa4aa  则取第二个aa
// ?!:后面不是
aa(?!\d+)
数字匹配
//匹配正数、负数、和小数,整行都为数字,如:-23.42
^\-?\d+(\.\d+)?$

//匹配正数、负数、和小数,如:高2.32,大于-1,中的2.32、-1
\-?\d+(\.\d+)?

// 匹配1到9内的所有数字
[1-9]

// 匹配0-99的正整数
\d{1,2} 或 [0-9][0-9]?

// 匹配所有开头是5及以上的所有数字
[5-9][0-9]*
获取两个文字之间的所有内容,跨行
// 获取aa,bb与他们之间的所有内容
aa[\w\W]*?bb
或
aa[\d\D]*?bb
或
aa[\s\S]*?bb
其他常用
//匹配汉字
[\u4e00-\u9fa5]+

//匹配URL
[a-zA-z]+://[^\s]*

// IPv4
((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}

// Email
^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

//手机号
^(13[0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$

//身份证号
(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)

// 邮政编码
[1-9]\d{5}(?!\d)

// 密码,必须包含大小写字母和数字的组合,可以使用特殊字符,长度在8-10之间
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$

// 日期 yyyy:MM:dd
^\d{4}-\d{1,2}-\d{1,2}
java应用
判断
public static void main(String args[]){
	String content = "-23.45";
	String pattern = "^\\-?\\d+(\\.\\d+)?$";
	boolean isMatch = Pattern.matches(pattern, content);
	System.out.println("字符串中是否是数字? " + isMatch);
 }
检索
public static void main(String args[]){
    String line = "长方体高2.45米,宽1米,位于海拔-100米";
    //查找所有数字,正数、负数、和小数
    String pattern = "\\-?\\d+(\\.\\d+)?";
    Pattern r = Pattern.compile(pattern);
    Matcher matcher = r.matcher(line);
    while (matcher.find()) {
        String res = matcher.group();
        System.out.println(res);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值