Java正则表达式

本文主要描述Java正则表达式(Regular Expression),其作用是预先定义一个规则,然后,使用该规则匹配输入的字符串是否符合定义的规则,也可以从匹配的输出中提取字符串,正则表达式的常用使用场景包括字符串校验、提取字符串、规则引擎、语法规则。

正则定义

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 字符 x 字符x \\ 反斜杆 \xhh 十六进制值0xhh \t tab键('\u0009') \n 换行符('\u000A') \r 回车键('\u000D') |
| 列举 [abc] 字符a、b、c [^abc] 不包括a、b、c的字符 [a-zA-Z] 范围a到z、范围A到Z的字符 [a-d[m-p]] 范围a到d、范围m到p的并集 [a-z&&[def]] 范围a到z与字符d、e、f的交集 [a-z&&[^bc]] 范围a到z不包括字符b、c [a-z&&[^m-p]] 范围a到z不包括字符范围m到p |
| 通用 . 点号表示任意字符 \d 数字0到9,[0-9] \D 非数字0到9,[^0-9] \s 空格符 \S 非空格符,[^\s] \w 字, [a-zA-Z_0-9] \W 非字, [^\w] |
| 界限 ^ 行开始位置 $ 行结束位置 |
| 次数 X? X, 出现0次、一次 X* X, 出现0次、多次 X+ X, 出现一次、多次 X{n} X, 出现n次 X{n,} X,出现大于或等于n次 X{n,m} X, 出现大于或等于n次并且小于或等于m次 |
| 逻辑 XY XY并排 X|Y X或者Y (X) X, 分组 |

使用示例

|--------------------------------------------------------------------------------------------------------------------------------------|
| (([[a-zA-Z]+-?[a-zA-Z0-9]+]+)@([[a-zA-Z0-9]+\\.[a-zA-Z0-9]+]+)) 定义一个分组的正则表达式,其形式是((a)@(b)),使用正则匹配可以提取其中分组a、b对应的字符串 |

相关推荐
杀神lwz5 小时前
Java 正则表达式
java·mysql·正则表达式
爪哇学长13 小时前
Java API类与接口:类的转换方法与正则表达式
java·开发语言·python·正则表达式
sz66cm18 小时前
Linux grep 使用正则表达式说明
linux·运维·正则表达式
白萝卜弟弟1 天前
【JAVA】正则表达式的贪婪模式与非贪婪模式
java·正则表达式
BraveOxCow2 天前
正则表达式
正则表达式
Python_trys2 天前
Python爬虫基础-正则表达式!
开发语言·爬虫·python·正则表达式·编程
API快乐传递者2 天前
如何使用 Python 语言的正则表达式进行网页数据的爬取?
开发语言·python·正则表达式
丁总学Java3 天前
test 是 JavaScript 中正则表达式对象 (RegExp) 的一种方法,用于测试一个字符串是否匹配某个正则表达式
开发语言·javascript·正则表达式
Forever_Hopeful3 天前
华为 HarmonyOS NEXT 原生应用开发:【封装正则API】在原生鸿蒙中使用正则表达式校验登录注册模块(邮箱、密码、手机号)校验
华为·正则表达式
疯一样的码农5 天前
Python 正则表达式(RegEx)
开发语言·python·正则表达式