Java

Wesley13
• 阅读 614

最近处于工程尾期,抽出点时间来学习下工程中用到的知识点。

1.正则表达式作用:

它使用单个字符串来描述、匹配一系列符合某个语法规则的字符串。

举例:在很多文本编辑器里,正则表达式被用来检索、替换某些文字或字符串。

注意:当正则表达式和字符串函数都能解决问题时,尽量使用字符串函数,这样不容易出错,最重要的一点是字符串函数比正则表达式实现性能上要好得多。

2.正则表达式使用原因:

可以这么说,正则表达式能实现的,都能通过编程来实现,那么我们为什么还需要学习正则表达式呢?原因如下:

1>正则表达式能够在很大程度上简化编程实现的代码

2>用正则表达式去处理字符串,代码更容易理解

3>通常来说,正则表达式的速度远比自己写逻辑代码来实现功能要高得多(除非有现成的方法或者函数)

3.正则表达式构成

正则表达式由 文件字符 和 元字符 构成。文本字符即是用户需要匹配的内容;元字符是正则表达式中具有特殊意义的专用字符,它用来指定匹配规则。

4.基础正则表达式

. 与 [ ] 与 ^ 与 $ ,这四个称之为基础正则表达式,所有语言都支持这四个。正则表达式等价理解:

?,*,+,\d,\w都是等价字符

? 等价于 重复0次或者1次

* 等价于 重复0次或者多次

+ 等价于 重复1次或者多次

\d 等价于 [0-9]

\w 等价于 [A-Z或a-z或0-9或_或其它字符]

{n} 重复n次

{n,m} 重复n到m次

. 匹配除换行符以外的任意字符

\s 匹配任意的空白符

[ ] 包含,默认一个字符长度

[^]不包含,默认一个字符长度

[A-Za-z0-9] 26个大写字母、26个小写字母和0-9数字 中的一个

常用运算符与表达式

^ 匹配字符串开始

$ 匹配字符串结束

5.正则表达式语法与释义

基础语法  "^([ ]{})([ ]{})([ ]{})$"

正则字符串 = "开始 ([包含内容]{长度}) ([包含内容]{长度}) ([包含内容]{长度}) 结束"

6.正则表达式常见应用

1>验证用户名,要求

1.规定用户名第一个字符必须是字母

2.用户名长度为6到16位

正则表达式:("^[a-zA-Z]\w{5,15}$")

解释:

[a-zA-Z]  表示26+26个大小写字母中的一个,满足条件1(第一个字符必须是字符)

\w  表示字母或数字或下划线或其它字符

{5,15}  指定\w的长度为5位到15位之间,同时满足条件2(用户名长度在6到16位)

2>验证手机号码,要求

1.位数为11位

2.第一位必须是1

3.第2位在(3,4,5,7,8)这几个数字中选择一位

正则表达式:("^1[3|4|5|7|8][0-9]\\d{8}$")

疑惑,我的写法如下,不知道行不

("^1[3|4|5|7|8][0-9]{9}$")

刚测试了下,是可行的

3>验证身份证号码,这里只针对18位的

("^[1-9]{17},[0|1|x]{1}$")

结束,举了这么多的例子,查看者应该看懂了

//参考文章

http://deerchao.net/

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
半臻 半臻
3年前
Python基础11——正则表达式
19正则表达式19.1正则基础正则表达式:字符串处理工具应用场景1.html查询2.验证字符串是否符合规则re模块match方法python通过正则表达式对字符串进行匹配importre使用match方法进行匹配操作re.match()从字符串的开始位置进行匹配,匹配成功,返回match对象。匹配失败,返回Noneresre
墨冰 墨冰
3年前
学习无止境,我总结了一份“正则表达式”大全供你使用
学习不打烊,充电加油只为遇到更好的自己。希望大家如果觉得好的话可以点赞,评论鼓励一下。最近博主学习了正则表达式,感觉这个正则表达式的学习也非常必要,然后我就花了一点时间帮大家总结了常用的正则表达式供大家学习使用。如果有需要一定要收藏起来呀,方便之后在进行相应字符匹配的时候使用。正则表达式测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Stella981 Stella981
3年前
Python3正则表达式
在Python中使用正则表达式Python语言通过标准库中的re模块(importre)支持正则表达式。使用match方法匹配字符串匹配字符串也就是设定一个文本模式,然后判断另外一个字符串是否符合这个文本模式。importre
Stella981 Stella981
3年前
JS 苹果手机日期显示NaN问题
问题描述newDate("2019122910:30:00")在IOS下显示为NaN原因分析带的日期IOS下存在兼容问题解决方法字符串替换letdateStr"2019122910:30:00";datedateStr.repl
Stella981 Stella981
3年前
AJPFX总结关于Java中过滤出字母、数字和中文的正则表达式
1、Java中过滤出字母、数字和中文的正则表达式(1)过滤出字母的正则表达式\^(AZaz)\(2)过滤出数字的正则表达式\^(09)\(3)过滤出中文的正则表达式\^(\\\\u4e00\\\\u9fa5)\(4)过滤出字母、数字和中文的正则表达式\^(azAZ09\\\\u
胖大海 胖大海
2年前
linux常用的通配符与正则表达式
我们在很多地方都会用到通配符和正则表达式来实现我们的日常操作,提高我们的工作效率。但是很多新伙伴,往往容易将他们弄混。首先我们需要知道通配符和正则表达式的使用场景:通配符也叫文件名替换,它主要是作用于匹配文件名,常用命令是ls、find、cp、mv;正则表达式主要是作用于匹配文件中的字符串或编写脚本,常用命令命令是grep、awk、sed。大家缺乏机器练手的
京东云开发者 京东云开发者
7个月前
看不懂正则表达式?试试可视化工具吧!
1.前言是一种用来匹配字符串的强有力工具。设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串我们就认为它“匹配”了,否则该字符串就是不合法的。日常开发中常常会使用正则表达式,例如:对数据格式进行校验(判断一个字符串是否是合法的Emai