正则表达式

5 篇文章 0 订阅

** 如有错误,感谢指正**

如有错误,感谢指正,请私信博主,有辛苦红包,拜“一字之师”。

请根据目录寻找自己需要的段落

导语:本博客为个人整理Java学习记录帖,如有错误,感谢指正。系统学习,欢迎持续关注,后续陆陆续续更新Java后端项目,Java部分我不打算更新基础部分知识,会从JavaWeb开始更新文章。

What is RE(Regular Expression)?

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),是计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。本篇针对Java版和python版

正则表达式的作用

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个"规则字符串”,这个“规则字符串"用来表达对字符串的一种过滤逻辑。使用特殊语法来表示字符类、数量限定符和位置关系,然后用这些特殊语法和普通字符一起表示一个模式。

正则表达式的特点

灵活性、逻辑性和功能性非常的强;
可以迅速地用极简单的方式达到字符串的复杂控制
对于刚接触的人来说,比较晦涩难懂

java中正则表达式的使用

在Java中正则表达式为string类型,被验证的内容同样为String类型。通过string 类中的matches方法实现内容的匹配校验。如:“被验证内容”.matches(“正则表达式”)

正则表达式语法规则

正则表达式语法规则:[内容限定]{长度限定}
内容限定

在定义限定内容规则时,如果没有指定长度限定,那么默认长度为1。

单个字符限定:
[a]:表示当前内容必须是字母a
范围字符限定:
[a-z0-9]:表示内容可以是a-z之间的任意字母或者0-9之间的任意数字,不分先后。
取反限定:
[^abc]:表示内容不能是a或b或c。

长度限定

在正则表达式中通过{}来限定内容长度。
固定长度:{固定长度值}
范围长度:{最小长度值,最大长度值}
[a-z]{5}:表示内容范围为小写字母a到z且长度必须为5
[a-z][2,8}:表示内容范围为小写字母a到z且长度在2到8之间,包含2与8
[a-z][2}:表示内容范围为小写字母a到z且最小长度为2,最大长度无限制
[a-z]{0,2}:表示内容范围为小写字母a到z且最小长度为o,最大长度为2
长度限定符号
长度限定符号是指通过预定义符号来完成长度限定。
?:零次或一次。等同于{0,1}
+:一次或多次。等同于{1,}
*:零次或多次。等同于{0,}

预定义字符

在正则表达式中可以通过一些预定义字符来表示内容限定。目的是为了简化内容限定的定义

\d 匹配一个数字字符,等价于[o-9]。
\D 匹配一个非数字字符,等价于[^O-9]。
\n 匹配一个换行符。
\r 匹配一个回车符。
\s 匹配任何空白字符,包括空格、制表符、换页符等等。
\S 匹配任何非空白字符。
\t 匹配一个制表符。
\w 匹配包括下划线的任何单词字符。等价于“[A-Za-z0-9_]”"。
\W 匹配任何非单词字符。等价于“[^A-Za-z0-9_]”。

正则表达式的组合定义

在正则表达式中可以通过多个内容限定与长度限定来组合定义。
例如 必须是以字母开头,最少长度为4,最大长度为8。" [a-z]{1}\\w{ 3,8 }"

常见正则表达式

// 邮箱 ([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}
	// | 表示或者 \\.表示任意字符
// IP 地址 (25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)
// URL http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?
// 身份证号码 (^\\d{18}$)|(^\\d{15}$
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨竹菊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值