切换导航
首页
技术问答
编程语言
前端开发
移动开发
开发工具
程序设计
行业应用
CMS系统
服务器
频道导航
▸ PHP
▸ Java
▸ Java SE
▸ Python
▸ C#
▸ C&C++
▸ Ruby
▸ VB
▸ asp.Net
▸ Go
▸ Perl
▸ netty
▸ Django
▸ Delphi
▸ Jsp
▸ .NET Core
▸ Spring
▸ Flask
▸ Springboot
▸ SpringMVC
▸ Lua
▸ Laravel
▸ Mybatis
▸ Asp
▸ Groovy
▸ ThinkPHP
▸ Yii
▸ swoole
▸ HTML
▸ HTML5
▸ JavaScript
▸ CSS
▸ jQuery
▸ Bootstrap
▸ Angularjs
▸ TypeScript
▸ Vue
▸ Dojo
▸ Json
▸ Electron
▸ Node.js
▸ extjs
▸ Express
▸ XML
▸ ES6
▸ Ajax
▸ Flash
▸ Unity
▸ React
▸ Flex
▸ Ant Design
▸ Web前端
▸ 微信小程序
▸ 微信公众号
▸ iOS
▸ Android
▸ Swift
▸ Hybrid
▸ Cocos2d-x
▸ Flutter
▸ Xcode
▸ Silverlight
▸ cocoa
▸ Cordova
前端之家
正则表达式
正则表达式浅谈
正则表达式浅谈
2020-06-26
正则表达式
前端之家
前端之家
收集整理的这篇文章主要介绍了
正则表达式浅谈
,
前端之家
小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_
502
_0@
正则表达式是一个强大的字符串处理工具,可以对字符串尽心查找
提取
分割替换的操作。String类中也提供了几个特殊的
方法
:
@H_
502
_0@
Booleanmatches(Stringregex)判断字符串是否符合指定的正则表达式
@H_
502
_0@
StringreplaceAll(Stringregex,Stringreplacement)将所有的匹配的之前的regex替换成之后的字符串就是将前者换成后者
@H_
502
_0@
这些特殊的
方法
都依赖java中的正则表达式,除此之外java还提供了Pattern和matcher的
支持
两个类专门用于提供志恒则表达式的
支持
@H_
502
_0@
正则表达式是一种很简单而且实用的工具。正则表达式是一个用于匹配字符串的模板。实际上任意字符串都可以当成正则表达式使用例如字符串“ABC”就是一个正则表达式这样的正则表达式就是只能匹配ABC在正则表达式中可已使用
通配
符,正则表达式中的
通配
符远远的超出了
通配
符的
功能
被称为预定义字符
@H_
502
_0@
“【】”方括号表达式表示的是枚举【abc】表示匹配abc中的任何一个
@H_
502
_0@
“-”表示范围比如【a-z】表示的就是如果你想要使用a-z之间的任意字符那么就是用这个
@H_
502
_0@
“^”表示求否,【^abc】表示的是不造abc中选择
@H_
502
_0@
“&&”表示与运算【a-z&&【def】】表示的是去取a-z和def的交集如果想要使用匹配所有
中文
字符就可以使用【\\u0041-\\u0056】所有
中文
的unicode都是连续的这样的话就能使用这样的方式匹配所有的
中文
字符正则表达式还
支持
原括号表达式,用于将多和表达是组成一个子表达式圆括号中可以使用或运算符
@H_
502
_0@
如果要建立一个匹配000-000-0000使用正则表达式\\d\\d\\d-\\d\\d\\d-\\d\\d\\d\\d正则表达式这样的看起来比较繁琐实际上正则表达式还提供了
数量
表示符
@H_
502
_0@
Greedy(贪婪模式):
数量
表示符默认采用贪婪模式除非另有表示贪婪模式的表达式将会一直匹配下去直到无法匹配为止
@H_
502
_0@
Reluctant(最小匹配模式)这样的模式用问号(?)后缀表示只会匹配最少的字符
@H_
502
_0@
Possessive(占有模式)通常较少的使用
@H_
502
_0@
使用正则表达式:
@H_
502
_0@
一旦在程序中定义了正则表达式那么就可以使用Pattern和Matcher来使用正则表达式。
@H_
502
_0@
Pattern对像是正则表达式编译后在内存中的表示形式,因此正则表达式字符串必须先要被编译成pattern对像然后再利用pattern对像创建Martcher执行匹配所涉及的状态保留在Matcher对象中,多个Matcher对象可以共享一个对象
@H_
502
_0@
创建的
方法
如下:
@H_
502
_0@
//将字符串编译成Pattern对像
@H_
502
_0@
Patternp=Pattern.compile(
“
a*b
”
);
@H_
502
_0@
//使用pattern对像创建Matcher对像
@H_
502
_0@
Matcherm=p.matcher(
aaaaaaab
Booleanb=a.matches();//返回true
@H_
502
_0@
上面定义的Pattern对像可以多次使用,如果某个正则表达式仅需要使用一次,则可以直接使用Pattern类的静态
方法
matches()使一个字符串编译成一个匿名的Pattern对像并执行匹配如下
代码
:
@H_
502
_0@
Booleanb=Pattern.matches(
,
aaab
上面的一句就是最上面三句的组合
@H_
502
_0@
Pattern是不可变类,可提供多个并法线程安全使用
@H_
502
_0@
Matcher类提供了如下几个常用的
方法
:
@H_
502
_0@
Find():返回目标字符串中是否包含和Pattern匹配的子串
@H_
502
_0@
Group():返回上一次和Pattern匹配的字符串
@H_
502
_0@
Start():返回上一次和Pattern匹配的子串在目标字符串的开始的位置。
@H_
502
_0@
End():和上面的相反返回最后的
@H_
502
_0@
Matcher():返回整合目标自古穿与Pattern是否匹配
@H_
502
_0@
Reset():将现有的Matcher对像用于一个新的字符串序列
@H_
502
_0@
通过Matcher的find()和group()
方法
可以从目标字符串依次取出特子串(匹配正则表达式的子串就想互联网爬虫一样)
@H_
502
_0@
PublicclassFindGroup{
@H_
502
_0@
Publicstaticvoidmain(String[]aegs){
@H_
502
_0@
Stringstr=
我有一本书叫做java,尽快联系我我的电话13500006666
+
交朋友电话15322223636
;
@H_
502
_0@
Matcherm=Pattern.compile(
((13\\d|15\\d))\\d{8}
While(m.find()){
@H_
502
_0@
System.out.println(m.group());
@H_
502
_0@
}
@H_
502
_0@
上面的
输出
的结果就是电话号码
@H_
502
_0@
从上面的结果了一看出来,find()
方法
一次找到字符串中pattern匹配的字符串找到对应的子串,下次
调用
find()
方法
是将接着向下查找
@H_
502
_0@
如果想要更加深入的理解请参考相应专门介绍的网站
上一篇:正则表达式替换两个特殊字附串中的
下一篇:正则表达 中文下 gbk utf-8 的区别
猜你在找的正则表达式相关文章
常用正则表达式-手机号、身份证、邮箱
一、校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^d{n}$ 3 至少n位的数字:^d{n,}$ 4...
作者:前端之家 时间:2021-01-10
JS正则表达式详解
正则表达式非常有用,查找、匹配、处理字符串、替换和转换字符串,输入输出等。下面整理一...
作者:前端之家 时间:2020-12-29
组内正则培训记录
0. 注: 不同语言中的正则表达式实现都会有一些不同。下文中的代码示例除特别说明的外,都...
作者:前端之家 时间:2020-12-20
高级正则表达式技术(Python版)
正则表达式是从信息中搜索特定的模式的一把瑞士军刀。它们是一个巨大的工具库,其中的...
作者:前端之家 时间:2020-07-22
史上最全最常用的正则表达式
一、校验数字的表达式 数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,...
作者:前端之家 时间:2020-07-22
正则表达式工具
作者:前端之家 时间:2020-07-22
正则表达式初步
作者:前端之家 时间:2020-07-22
分享5个可视化的正则表达式编辑工具
正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编...
作者:前端之家 时间:2020-07-22
分享5个可视化的正则表达式编辑工具
正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器...
作者:前端之家 时间:2020-07-22
[知识积累]--正则表达式记忆表
在工作中常常遇到正则表达式问题,有时候又会忘记这则的语法。 下面就分享一份正则表达式记...
作者:前端之家 时间:2020-07-22
编程分类
算法
设计模式
多媒体技术
正则表达式
Elasticsearch
Flink
Hadoop
IDE
最新文章
• 常用正则表达式-手机号、身
• JS正则表达式详解
• 组内正则培训记录
• 高级正则表达式技术(Pyth
• 史上最全最常用的正则表达
• 正则表达式基本语法
• 正则表达式工具
• 正则表达式初步
• 分享5个可视化的正则表达式
• 分享5个可视化的正则表达式
热门标签
更多 ►
受约束
摘*
day25
Java常用类库
置信
lamda
留存
持续录入
年后
正则表达式30
3.17
regularexpre
匹
多模
适
20130322
基础理论
pathmunge
涵义
reec
tok
需要转义的特
资源分享
validationex
简明魔法
里弄
形如
源码实现
完备
actionscript