正则表达式是一种用于匹配字符串的工具,Java提供了一套强大的正则表达式API,可以让我们方便地使用正则表达式进行字符串操作。本文将详细介绍Java正则表达式的使用方法,包括语法、常用方法、示例等内容。
(资料图片)
一、正则表达式语法
在Java中,正则表达式使用的是Perl 5语法。正则表达式由普通字符和特殊字符组成,普通字符就是字母、数字和一些特殊字符,特殊字符有特殊的含义,用于描述一些复杂的匹配规则。
普通字符
普通字符就是指除特殊字符以外的字符,它们在正则表达式中表示它们本身。例如,正则表达式中的字母和数字表示它们本身,例如正则表达式 "abc123" 匹配的是字符串 "abc123"。
特殊字符
在正则表达式中,特殊字符用于表示一些特定的含义,例如:
(1)单个字符匹配
. :表示匹配任意一个字符,不包括换行符。
[] :表示匹配其中任意一个字符。
^ :表示匹配除了指定字符以外的任意一个字符。
\d :表示匹配任意一个数字,等价于[0-9]。
\D :表示匹配任意一个非数字,等价于[^0-9]。
\w :表示匹配任意一个字母或数字或下划线,等价于[a-zA-Z_0-9]。
\W :表示匹配任意一个非字母或数字或下划线,等价于[^a-zA-Z_0-9]。
\s :表示匹配任意一个空格字符,包括空格、制表符和换行符。
\S :表示匹配任意一个非空格字符。
(2)重复匹配
:表示匹配前面的字符0次或多次。:表示匹配前面的字符1次或多次。? :表示匹配前面的字符0次或1次。
{n} :表示匹配前面的字符恰好n次。
{n,} :表示匹配前面的字符至少n次。
{n,m} :表示匹配前面的字符至少n次,最多m次。
(3)位置匹配
^ :表示匹配字符串的开头。
$ :表示匹配字符串的结尾。
\b :表示匹配单词边界。
\B :表示匹配非单词边界。
二、Java正则表达式API
Java提供了Pattern和Matcher两个类来支持正则表达式操作。其中,Pattern类表示正则表达式模式,Matcher类表示匹配结果。下面介绍Pattern类和Matcher类的常用方法。
Pattern类方法
(1)compile(String regex):将正则表达式编译为Pattern对象。
(2)matches(String regex, CharSequence input):用指定的正则表达式匹配输入的字符串。
(3)split(CharSequence input):按照指定的正则表达式将输入的字符串分割成字符串数组。
(4)pattern():返回当前Pattern对象表示的正则表达式模式字符串。
Matcher类方法
(1)matches():判断当前Matcher对象的输入字符串是否完全匹配正则表达式。
(2)find():在当前Matcher对象的输入字符串中查找下一个匹配的子串。
(3)group():返回当前Matcher对象的输入字符串中与上一次find()方法匹配的子串。
(4)start():返回当前Matcher对象的输入字符串中与上一次find()方法匹配的子串的起始位置。
(5)end():返回当前Matcher对象的输入字符串中与上一次find()方法匹配的子串的结束位置。
三、Java正则表达式示例
下面是一些Java正则表达式的示例:
匹配手机号码
String regex = "^1[3-9]\d{9}$"; String phoneNum = "18812345678"; boolean isMatch = Pattern.matches(regex, phoneNum);
匹配邮箱地址
String regex = "^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$"; String email = "test@example.com"; boolean isMatch = Pattern.matches(regex, email);
匹配身份证号码
String regex = "^\d{17}[0-9Xx]$"; String idCardNum = "420821199001011234"; boolean isMatch = Pattern.matches(regex, idCardNum);
提取URL中的参数
String url = "http://example.com/?id=123&name=张三"; Pattern pattern = Pattern.compile("(?<=\?|&)\w+=[^&]+"); Matcher matcher = pattern.matcher(url); while (matcher.find()) { System.out.println(matcher.group()); }
以上是Java正则表达式的简单示例,通过学习正则表达式的语法和API,可以更加灵活地运用正则表达式解决实际问题。
关键词:
(责任编辑:黄俊飞)推荐内容
- java正则表达式
- 创业板成长ETF:连续4日融资净偿还累计10
- 王铎书法类编:临王羲之王献之1_关于王铎
- 扫墓后,一家6口集体中毒!紧急入院!
- 金华人喜爱的“糯叽叽”美食?不止清明粿
- 全球热点评!成都国际学校排名榜小学(成
- 农产品:利用上市公司融资和并购功能,助
- 共话中国经济新机遇丨IBM大中华区董事长
- 推荐几首好听的歌曲
- 为书香赋能 日照市城市书房管理培训班开
- 阿根廷登革热疫情已致14人死亡超1.6万人
- 今春天气频频“变脸” 是否异常?如何应
- 周二盘后:中芯国际的机会分析
- 滴滴打车如何用微信支付 滴滴打车使用教程
- 天天快看点丨45岁卡西·阿弗莱克近照太憔
- 怎么给电脑设置默认打印机_电脑如何设置
- 【独家】中国电信营收规模第11至20名地市
- 全球热头条丨南海勇当“中国氢能领头羊”
- 童年读后感150字 《金色的脚印》读后感
- 全球今日报丨缅怀革命先烈! 源汇区城市
- 李逸男演的电视剧 李逸男演的电视剧有哪
- 陕西中能煤田有限公司:人生新起点,梦想
- 报道:南京哪个白癜风医院较好
- 热门看点:全程机械化!新疆兵团第三师图
- 广期资本依托“自用仓储”助力企业降本增
- 传递“朴”设计之美 中兴通讯固网终端再
- 殷若宁夺得洛杉矶高尔夫公开赛冠军
- 主播使用虚幻引擎 5 改造《神庙逃亡》
- 每日观察!高校毕业生就业创业|安顺职院
- 第六届数字中国建设峰会4月27日在福州召开
- 全球视讯!A股水稻板块上市公司有哪些?
- 补贴和津贴计税吗|世界关注
- 快消息!生活概念(08056)拟委任长青为独
- 中原银行因贷款“三查”不到位等领罚215
- 山海志·巫女 环球快看点
- 每日快讯!中央政法委长安剑:“张继科”
- 力量发展:股东张力所涉案件将不会对公司
- 焦点日报:“储户觉醒”,存款持续流入货
- 秦都区城市管理执法局打响“夜间大冲洗”
- 春日撑伞走雨巷,宽窄巷子“集食行乐”沉
- 首列北京直达欧洲的中欧班列抵达俄罗斯莫
- 歌手麦莉赛勒斯如何保持健康并通过瑜伽调
- 黑龙江哈尔滨机场将恢复雅库茨克航线
- 苏能股份:公司研发策略以自主研发、自主
- kiki什么意思中文翻译_kiki是什么意思|快报
- 天天看点:如果海贼王翻拍真人版,女帝一
- 德济桥_世界实时
- 西峡县教育体育局:加强安全教育 提高避
- 当前通讯!河南郑州启动防汛蓝色预警响应
- 英超埃弗顿vs托特纳姆热刺比分预测 主场
- 温州移动人的“四千”精神
- 铭记历史缅怀英烈 崇尚英雄争做先锋:全
- 儿童游乐设备生产厂家霸州_儿童游乐设备
- 惠州博罗石湾105亩临莞商住地挂牌 起始
- 信息:专家:发展电车一年可节约500亿美
- 时速600公里!我国自研,首次悬浮运行|滚动
- 4月1日起,宁夏开通全国居民身份证首次申
- 环球速读:农村孤独症儿童想要上学太难了
- 小学教师晒节日礼物|天天亮点
- 法拉电子2022年净利10.07亿同比增长21.21
- 李逸男演的电视剧 李逸男演的电视剧有哪
- 陕西中能煤田有限公司:人生新起点,梦想
- 报道:南京哪个白癜风医院较好
- 热门看点:全程机械化!新疆兵团第三师图
- 广期资本依托“自用仓储”助力企业降本增
- 传递“朴”设计之美 中兴通讯固网终端再
- 殷若宁夺得洛杉矶高尔夫公开赛冠军
- 主播使用虚幻引擎 5 改造《神庙逃亡》
- 每日观察!高校毕业生就业创业|安顺职院
- 第六届数字中国建设峰会4月27日在福州召开
- 全球视讯!A股水稻板块上市公司有哪些?
- 补贴和津贴计税吗|世界关注
- 快消息!生活概念(08056)拟委任长青为独
- 中原银行因贷款“三查”不到位等领罚215
- 山海志·巫女 环球快看点
- 每日快讯!中央政法委长安剑:“张继科”
- 力量发展:股东张力所涉案件将不会对公司
- 焦点日报:“储户觉醒”,存款持续流入货
- 秦都区城市管理执法局打响“夜间大冲洗”
- 春日撑伞走雨巷,宽窄巷子“集食行乐”沉
- 首列北京直达欧洲的中欧班列抵达俄罗斯莫
- 歌手麦莉赛勒斯如何保持健康并通过瑜伽调
- 黑龙江哈尔滨机场将恢复雅库茨克航线
- 苏能股份:公司研发策略以自主研发、自主
- kiki什么意思中文翻译_kiki是什么意思|快报
- 天天看点:如果海贼王翻拍真人版,女帝一
- 德济桥_世界实时
- 西峡县教育体育局:加强安全教育 提高避
- 当前通讯!河南郑州启动防汛蓝色预警响应
- 英超埃弗顿vs托特纳姆热刺比分预测 主场
- 温州移动人的“四千”精神
- 铭记历史缅怀英烈 崇尚英雄争做先锋:全
- 儿童游乐设备生产厂家霸州_儿童游乐设备
- 惠州博罗石湾105亩临莞商住地挂牌 起始
- 信息:专家:发展电车一年可节约500亿美
- 时速600公里!我国自研,首次悬浮运行|滚动
- 4月1日起,宁夏开通全国居民身份证首次申
- 环球速读:农村孤独症儿童想要上学太难了
- 小学教师晒节日礼物|天天亮点
- 法拉电子2022年净利10.07亿同比增长21.21
- 4月01日00时河北张家口疫情新增病例数及
- 天天观焦点:巴西劳工党:美国正采取愈发
- 新华路街道发布“15分钟社区美好生活圈”
- 世界热门:新华保险副总裁王练文:一季度
- 情人节有多少个_每个月的情人节
- 滴滴云不再对外提供公有云服务
- 【天天播资讯】积极出海!比亚迪唐EV西班
- 【世界聚看点】世界双相情感障碍日 这些
- 深化校城融合 山东这所高校加快推进应用
- 焦点速看:影视院线、游戏板块涨幅均超5%
- qq漂流瓶怎么玩_漂流瓶怎么玩
- 资讯:金健米业去年营收超64亿元 今年计
- 第19届杭州亚运会5克金质纪念币多少钱(2
- 免收工业硅期货和期权平今仓手续费 促进
- 早报:魅族20系列发布 Redmi Note 12
- 环球今日讯!网贷挂账停息分期可以吗?停
- 兼职赚了150元佣金,却欠下50多万元税款-
- 即时:官方:2023年E3游戏展宣布取消
- eva模型的优点_eva模型
- 3月30日基金净值:广发价值优势混合最新