栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

关于java正则表达式的一些简单理解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关于java正则表达式的一些简单理解

文章目录

正则表达式的基本概念正则表达式的构造一些常用的正则表达式一些注意事项一些想法

正则表达式的基本概念

在百度百科上正则表达式如此定义:

正则表达式,又称规则表达式。(英语:Regular expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

也就是说正则表达式的主要用途为“对字符串进行查找特征词、提取信息和修改文本”,为了实现这些相关功能,相信每一个初学者都编写过相应的代码,但是大多复杂且难以阅读,而这正是正则表达式所独有的优势:

    灵活性、逻辑性和功能性非常强;可以迅速地用极简单的方式达到字符串的复杂控制。
正则表达式的构造

正则表达式是一种可以作为字符串被识别的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。它由两个部分组成:

    普通字符(A-Za-z0-9)元字符

普通字符可以理解成字符串中的元素,而正则表达式的灵魂在于如何理解元字符,下面是部分元字符的简单理解:

符号意义样例
“转义字符”,帮助表示“d”(所有数字)等等12[d]可以匹配123
*前面的子表达式任意次a*bb可以匹配aaaaabb
.可以表达任意一个字符Ja.a可以匹配Java
?前面的子表达式的0或1次J?Java可以匹配Java
-字符范围 匹配指定范围内的任意字符Ja[a-z]a可以匹配Java
+前面的子表达式的1或多次J+Java可以匹配Java
^匹配未包含的任意字符Jav[^b-z] 可以匹配Java
|取或 可以匹配左右两边的表达式Ja[va|bc]可以匹配Java
&&取两边的交集[A-G[I-M]]av[a-d]可以匹配Java
{}前面的子表达式的指定次a{4}可以匹配aaaa
一些常用的正则表达式

整数: -?[1-9]d*
汉字: [u4e00-u9fa5]+
E-mail地址: [w-]+(.[w-]+)*@[w-]+(.[w-]+)+
YY-MM-DD格式的日期: d{4}(-|/|.)d{1,2}1d{1,2}
身份证: d{4}(-|/|.)d{1,2}1d{1,2}
IP地址: (25[0-5]|2[0-4]d|[0-1]d{2}|[1-9]?d).(25[0-5]|2[0-4]d|[0-1]d{2}|[1-9]?d).(25[0-5]|2[0-4]d|[0-1]d{2}|[1-9]?d).(25[0-5]|2[0-4]d|[0-1]d{2}|[1-9]?d)

正则表达式判断密码是否合法实例:

密码校验需求:

1) 密码控制只能输入字母、数字、特殊符号(~!@#$%^&*()_+[]{}|;:'",./<>?)
2) 长度 6-16 位,必须包括字母、数字、特殊符号中的2种
3) 密码不能包含用户名信息


判断密码是否包含数字:包含返回1,不包含返回0
int i = newPwd.matches(".*\d+.*") ? 1 : 0;

判断密码是否包含字母:包含返回1,不包含返回0
int j = newPwd.matches(".*[a-zA-Z]+.*") ? 1 : 0;

判断密码是否包含特殊符号(~!@#$%^&*()_+|<>,.?/:;'[]{}):包含返回1,不包含返回0
int k = newPwd.matches(".*[~!@#$%^&*()_+|<>,.?/:;'\[\]{}"]+.*") ? 1 : 0;

判断密码长度是否在6-16位
int l = newPwd.length();

以上部分表达式比较简单、不够严谨,无法判断是否合法

一些注意事项

一、普通字符可以是任何字母、数字或者下划线
二、正则表达式中禁止存在空格
三、括号“ ( ”和“ ) ”是特殊字符,用于对子表达式进行分组,若要打印括号,需要在前面加上转义符“ ”,其他特殊字符同理
四、我们经常使用的“ d ”、“ s ”就是一种正则表达式,分别表示“数字”和“空白字符”,如果将小写字母换成大写字母则分别表述“非数字”和“非空白字符”
五、空白字符指的是‘ ’、‘t’、‘n’、‘r’、‘f’

一些想法

正则表达式的功能非常强大,而且应用简单、灵活,是处理字符串的强力工具,而应用好这个工具需要深刻的理解和大量的练习。难的啦~~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/781493.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号