当前位置: 首页 > 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

相关文章:

  • 技术文档: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
  • 相机坐标系、图像坐标系和世界坐标系
  • 南海大良网站建设/最新新闻热点事件2023
  • 西安英文网站建设/关键词seo教程
  • 网站服务内容怎么写/四川seo排名
  • 云主机网站/腾讯企点app
  • 衡水企业做网站推广/广州抖音推广
  • 哈尔滨模板建站公司/长沙网站优化指导