元素与正则表达式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了元素与正则表达式相关的知识,希望对你有一定的参考价值。
一个正则表达式是含有一些具有特殊意义字符的字符串,这些特殊字符称为正则表达式中的元字符。比如"\\dhello"中的\\d就是特殊意义的元字符,代表0~9中的任意一个数。字符串“8hello”和“9hello”都是与“\\dhello”匹配的字符串。
在正则表达式(模式)中可以使用一对方括号括起若干个字符,代表方括号中的任意一个字符。
- [abc]代表a、b、c中的任何一个字符。
- [^abc]代表除了a、b、c以外的任何一个字符。
- [a-d]代表a至d中的任何一个字符。
- [a-zA-Z]代表a至z或者A至Z中的任何一个字符。
- [ad-z]代表a至z,但不包括b、c的任何一个字符。
另外,还有一些代表单个字符的元字符,如下表所示:
元字符 | 在正则表达式中的写法 | 意义 |
. | "." | 代表任何一个字符 |
\d | "\\d" | 代表0~9的任何一个数字 |
\D | "\\D" | 代表任何一个非数子字符 |
\s | "\\s" | 代表空格类字符:"\t", "\n", "\x0B", "\f", "\r" |
\S | "\\S" | 代表非空各类字符 |
\w | "\\w" | 代表可用于标识符的字符(不包括美元符号) |
\W | "\\W" | 代表不能用于标识符的字符 |
在正则表达式中的经常使用限定符,比如,用X代表正则表达式中的一个元字符或者是普通字符,X?就表示X出现1次或者0次,如
RegEx = "A[1359]?" //X是"[1359]"
那么"A1"、"A3"、"A5"、"A9"是匹配模式RegEx的全部字符串,再如,RegEx = "@\\w{4}"那么X是"\\w",则"@abcd"、“@girl”、"@flag"都是匹配模式RegEx的字符串。
下表是正则表达式使用的限定符
带限定符号的模式 | 意义 |
X? | X出现0次或者1次 |
X* | X出现0次或者多次 |
X+ | X出现1次或者多次 |
X{n} | X恰好出现n次 |
X{n,} | X至少出现n次 |
X{n,m} | X出现n次至m次 |
以上是关于元素与正则表达式的主要内容,如果未能解决你的问题,请参考以下文章
Perl 中的正则表达式组:如何从正则表达式组中捕获与字符串中出现的未知数量/多个/变量匹配的元素到数组中?