当前位置: 首页 > news >正文

Android正则表达式

正则表达式的常用操作符

操作符

含义

示例

.

表示任何单个字符

[]

字符集,对单个字符给出取值范围

[abc]表示abc[a-z]表示a-z单个字符(任意一位小写字母)

[^]

非字符集。对单个字符给出排除范围

[^abc]表示非abc的单个字符

*

前一个字符的0次或者无限次的扩展

abc*表示ababcabccabcccc等等(匹配 ab

+

前一个字符的1次或者无限次的扩展

abc+表示 abcabcccabccabccccc等(不匹配 ab

?

前一个字符的0次或者1次扩展

abc?仅表示 ababc

|

左右表达式中的任意一个

abc|def表示abcdef

{m}

扩展前一个字符m次

ab{2}c表示abbc

{m,n}

扩展前一个字符m至n次(含m和n次)

ab{1,2}c匹配abcabbc

^

匹配字符串开头

^abc表示abc在一个字符串的开头,即不匹配 aabc

$

匹配字符串结尾

abc$表示abc在一个字符串的结尾,即不匹配abcd

()

分组标记内部只能使用|操作符

(abc)表示abc ,(abc|def)表示abcdef

\d

一位数字,等价于[0-9]

\w

组成单词的字符,等价于[A-Za-z0-9_]

表示字符小写大写的a-z和数字0-9以及下划线_

经典的正则表达式

表达式

含义

^[A-Za-z]+$

由26个字母组成的字符串

^[A-Za-z0-9]+$

由26个字母和数字组成的字符串

^-?\d+$

整数形式的字符串

^[0-9]*[1-9][0-9]*$

正整数形式的字符串

[1-9]\d{5}

中国境内邮政编码

[\u4e00-\u9fa5]

匹配中文字符

\d{3}-\d{8}|d{4}-\d{7}

国内固定电话号码

基本验证示例
import java.util.regex.*;public class EmailValidator {private static final String EMAIL_REGEX = "^[A-Za-z0-9+_.-]+@(.+)$";private static final Pattern EMAIL_PATTERN = Pattern.compile(EMAIL_REGEX);public static boolean isValidEmail(String email) {Matcher matcher = EMAIL_PATTERN.matcher(email);return matcher.matches();}public static void main(String[] args) {String[] testEmails = {"valid.email@example.com","invalid_email@.com","user.name+tag@domain.co.uk","no_at_symbol.com","user@domain","user@domain..com"};for (String email : testEmails) {System.out.println(email + " 是有效的邮箱吗? " + isValidEmail(email));}}
}
正则表达式解析

这个正则表达式由三部分组成:

  1. ^[A-Za-z0-9+_.-]+
    匹配邮箱用户名:必须包含至少一个字母、数字或特殊字符 +_.-

  2. @
    匹配邮箱中的 @ 符号

  3. (.+)$
    匹配邮箱域名:必须包含至少一个字符(任何字符)

验证结果说明

运行上面的示例代码,你会得到以下结果:

valid.email@example.com 是有效的邮箱吗? true
invalid_email@.com 是有效的邮箱吗? false
user.name+tag@domain.co.uk 是有效的邮箱吗? true
no_at_symbol.com 是有效的邮箱吗? false
user@domain 是有效的邮箱吗? true
user@domain..com 是有效的邮箱吗? true

文章转载自:

http://BLomhqlf.gychx.cn
http://C9qQ9e8L.gychx.cn
http://TN803ZRm.gychx.cn
http://tBSX3YEg.gychx.cn
http://kuE6ItFn.gychx.cn
http://nuTf4Kt4.gychx.cn
http://MywAm9NA.gychx.cn
http://DjVzNdna.gychx.cn
http://CUkT0ZCo.gychx.cn
http://DEXl6M8t.gychx.cn
http://MQxhpEtn.gychx.cn
http://H5nAQ1cz.gychx.cn
http://XRCOGfM9.gychx.cn
http://Z1UO35AV.gychx.cn
http://ORgnWrAm.gychx.cn
http://DWFhPOHc.gychx.cn
http://gIAnhLZs.gychx.cn
http://D3uiJpqA.gychx.cn
http://jkAoLRu2.gychx.cn
http://H0Ebof50.gychx.cn
http://bKqpd4Yw.gychx.cn
http://1iiaw0qD.gychx.cn
http://5qFhLhTM.gychx.cn
http://tMlQLBNk.gychx.cn
http://zZ1SDtFT.gychx.cn
http://T4blpwA3.gychx.cn
http://Sc6dQiO9.gychx.cn
http://df9yvYKD.gychx.cn
http://1vLF8pPv.gychx.cn
http://bdEBApb4.gychx.cn
http://www.dtcms.com/a/209225.html

相关文章:

  • 技术文档:SINAMICS S120 变频器搭配 GRJ9000S 系列 EMC 电源滤波器
  • 教育行业课件共享难题:大文件分发效率优化方案
  • 【Java高阶面经:消息队列篇】22、消息队列核心应用:高并发场景下的解耦、异步与削峰
  • 龙虎榜——20250523
  • 继续对《道德经》第57章至第81章进行数学形式化建模
  • 今日打卡,Leetcode第四题:寻找两个正序数组的中位数,博主表示就会sorted
  • 若依 Plus 自定义字典的使用
  • 如何设置名称服务器
  • 2025年5月软考系分论文预测
  • 【解决】GIT空文件夹不被追踪导致的分支污染
  • 大疆制图跑飞马D2000的正射与三维模型
  • PETR- Position Embedding Transformation for Multi-View 3D Object Detection
  • 从渗透测试角度分析 HTTP 数据包
  • 【前端】Bun:快速上手
  • WebStorm 高效快捷方式全解析
  • ⽂件上传⿊名单限制绕过方法
  • 如何在STM32CubeMX下为STM32工程配置调试打印功能
  • android设计——功能临时开启与永久管控
  • 穿屏技巧:Mac-Windows一套鼠标键盘控制多台设备 (sharemouse6.0-Keygen)| KM-401A
  • 相机坐标系、图像坐标系和世界坐标系
  • 豆瓣的 PyPI 源关闭后替代方案
  • 博弈论(巴什、nim、......SG打表)
  • 数据集YOLO格式转换COCO格式
  • 计算机图形学:(三)MVP变换扩展
  • 初识 Flask 框架
  • 详解MySQL锁机制
  • 七彩喜适老化改造:让每个空间成为长者尊严的守护者
  • 广东省省考备考(第十八天5.23)—言语:语句排序题(听课后强化训练)
  • 基于大模型的股骨干骨折全周期预测与诊疗方案研究报告
  • 【MySQL成神之路】MySQL索引相关介绍