x 字符 x
\\ 反斜线字符
\0n 带有八进制值 0 的字符 n (0 <= n <= 7)
\0nn 带有八进制值 0 的字符 nn (0 <= n <= 7)
\0mnn 带有八进制值 0 的字符 mnn(0 <= m <= 3、0 <= n <= 7)
\xhh 带有十六进制值 0x 的字符 hh
\uhhhh 带有十六进制值 0x 的字符 hhhh
\t 制表符 ('\u0009')
\n 新行(换行)符 ('\u000A')
\r 回车符 ('\u000D')
\f 换页符 ('\u000C')
\a 报警 (bell) 符 ('\u0007')
\e 转义符 ('\u001B')
\cx 对应于 x 的控制符
字符类
[abc] a、b 或 c(简单类)
[^abc] 任何字符,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
[a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)
[a-z&&[def]] d、e 或 f(交集)
[a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)
[a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)
预定义字符类
. 任何字符(与行结束符可能匹配也可能不匹配)
\d 数字:[0-9]
\D 非数字: [^0-9]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9]
\W 非单词字符:[^\w]
POSIX 字符类(仅 US-ASCII)
\p{Lower} 小写字母字符:[a-z]
\p{Upper} 大写字母字符:[A-Z]
\p{ASCII} 所有 ASCII:[\x00-\x7F]
\p{Alpha} 字母字符:[\p{Lower}\p{Upper}]
\p{Digit} 十进制数字:[0-9]
\p{Alnum} 字母数字字符:[\p{Alpha}\p{Digit}]
\p{Punct} 标点符号:!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
\p{Graph} 可见字符:[\p{Alnum}\p{Punct}]
\p{Print} 可打印字符:[\p{Graph}\x20]
\p{Blank} 空格或制表符:[ \t]
\p{Cntrl} 控制字符:[\x00-\x1F\x7F]
\p{XDigit} 十六进制数字:[0-9a-fA-F]
\p{Space} 空白字符:[ \t\n\x0B\f\r]
java.lang.Character 类(简单的 java 字符类型)
\p{javaLowerCase} 等效于 java.lang.Character.isLowerCase()
\p{javaUpperCase} 等效于 java.lang.Character.isUpperCase()
\p{javaWhitespace} 等效于 java.lang.Character.isWhitespace()
\p{javaMirrored} 等效于 java.lang.Character.isMirrored()
Unicode 块和类别的类
\p{InGreek} Greek 块(简单块)中的字符
\p{Lu} 大写字母(简单类别)
\p{Sc} 货币符号
\P{InGreek} 所有字符,Greek 块中的除外(否定)
[\p{L}&&[^\p{Lu}]] 所有字母,大写字母除外(减去)
边界匹配器
^ 行的开头
$ 行的结尾
\b 单词边界
\B 非单词边界
\A 输入的开头
\G 上一个匹配的结尾
\Z 输入的结尾,仅用于最后的结束符(如果有的话)
\z 输入的结尾
Greedy 数量词
X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超过 m 次
Reluctant 数量词
X?? X,一次或一次也没有
X*? X,零次或多次
X+? X,一次或多次
X{n}? X,恰好 n 次
X{n,}? X,至少 n 次
X{n,m}? X,至少 n 次,但是不超过 m 次
Possessive 数量词
X?+ X,一次或一次也没有
X*+ X,零次或多次
X++ X,一次或多次
X{n}+ X,恰好 n 次
X{n,}+ X,至少 n 次
X{n,m}+ X,至少 n 次,但是不超过 m 次
Logical 运算符
XY X 后跟 Y
X|Y X 或 Y
(X) X,作为捕获组
Back 引用
\n 任何匹配的 nth 捕获组
引用
\ Nothing,但是引用以下字符
\Q Nothing,但是引用所有字符,直到 \E
\E Nothing,但是结束从 \Q 开始的引用
特殊构造(非捕获)
(?:X) X,作为非捕获组
(?idmsux-idmsux) Nothing,但是将匹配标志i d m s u x on - off
(?idmsux-idmsux:X) X,作为带有给定标志 i d m s u x on - off
的非捕获组 (?=X) X,通过零宽度的正 lookahead
(?!X) X,通过零宽度的负 lookahead
(?<=X) X,通过零宽度的正 lookbehind
(?<!X) X,通过零宽度的负 lookbehind
(?>X) X,作为独立的非捕获组
分享到:
相关推荐
HTML转义字符是网页开发中不可或缺的一部分,它们用于在HTML文档中表示特殊字符,防止浏览器错误解析或意外的代码执行。这些字符实体通常由一个反斜杠(\)后跟一个或多个数字或字母组成,例如"<"代表小于号(<)...
### C#常用的转义字符 在C#编程语言中,转义字符是非常重要的概念之一,它们可以帮助开发者在字符串中插入特殊字符或者控制字符,从而实现更丰富的文本处理功能。本文将详细介绍C#中常见的转义字符及其用法,并通过...
为了解决这个问题,Mybatis提供了一些处理转义字符的方式,以确保SQL语句能够正确地写入Mapper.xml文件中并被解析。 在Mapper.xml文件中处理转义字符的常见方法主要有以下几种: 1. 常用的XML转义字符写法 在XML中...
### C语言转义字符详解 在C语言编程中,转义字符扮演着极其重要的角色,它们允许程序员在源代码中表示那些无法直接键入或有特殊含义的字符。本文将全面解析C语言中的转义字符,包括它们的定义、用途、格式及一些...
1. **转义字符必须以“&”开头**:这是识别转义字符的关键标识符。 2. **不要嵌套使用转义字符**:例如,`&amp;` 是不正确的使用方式,应该使用 `&`。 3. **转义字符通常用于替换特殊符号**:如上述提到的...
在C++编程语言中,转义字符是一种特殊符号,用于表示那些在文本字符串中具有特殊含义的字符。这些字符在源代码中不能直接输入,因此需要使用反斜杠(\)来“转义”它们的特殊意义,使得编译器能够正确地解析和处理...
### HTML转义字符详解 #### 一、引言 在HTML文档中,为了正确地显示某些特殊字符,如小于号(<)、大于号(>)等,需要使用转义字符来替代这些特殊符号。转义字符是HTML的一种特殊语法,用于在网页中插入无法直接...
### 常见转义字符在Java中的应用与解析 #### 概述 在编程语言中,转义字符是一类特殊的字符序列,用于表示那些在文本中无法直接表示或者具有特殊含义的字符。Java作为一种广泛使用的面向对象编程语言,支持多种...
C语言作为一种广泛使用的编程语言,其转义字符是掌握该语言不可或缺的一部分。转义字符在C语言中扮演着特殊的角色,它们允许程序员在字符串或字符常量中插入具有特定意义的字符,这些字符通常不能直接输入或有特殊的...
本文将围绕“gson转义字符”这一主题展开,深入探讨如何避免Gson在使用时自动将一些字符转为Unicode转义字符。 ### 一、问题背景 在Java项目中,我们经常会使用Gson来处理JSON格式的数据。例如,我们需要将一个...
C语言常用转义字符表 C语言中的转义字符是指在字符常量或字符串中使用的一些特殊字符,以表达一些不可见或不可打印的字符。这些字符在ASC II码表中有着特定的含义,以下是常用的转义字符: * \o 空字符 (NULL) :...
这些转义字符通常由一个“&”字符开头,后面跟着表示该字符的代码或者名称,最后以一个“;”结束。这种方式可以确保HTML解析器能够正确地解释并展示这些特殊字符。 #### 基本转义字符 1. **空格( )**: 转义...
### JAVA转义字符详解 在Java编程语言中,转义字符是一种特殊的形式,用于表示一些预定义的字符或控制字符。这些字符对于处理文本、字符串以及格式化输出等任务至关重要。本文将详细介绍Java中的转义字符,包括它们...
在编程世界中,特别是使用C语言进行开发时,理解ASCII码表和转义字符是非常基础且重要的知识。STM32,作为一款广泛应用的微控制器,其编程也涉及到这些概念。让我们详细探讨一下。 ASCII(American Standard Code ...
字符串中的转义字符是一个特殊概念,它允许我们在字符串中插入特殊字符或表示无法直接输入的字符。转义字符是通过在字符前加上反斜杠 `\` 来实现的。在Python中,转义字符主要用于以下几种情况: 1. **续行符**:当...
Python 转义字符逐个详解。一次性全面了解所有转义字符的含义及其用法。
### Android XML转义字符 在Android开发过程中,经常会遇到需要在`res/values/strings.xml`文件中使用特殊字符的情况。由于XML是一种标记语言,它对某些字符有特定的规定,如果直接将这些特殊字符写入XML文件,则...