元素与正则表达式

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 中的正则表达式组:如何从正则表达式组中捕获与字符串中出现的未知数量/多个/变量匹配的元素到数组中?

删除元素的正则表达式与特定前缀不匹配

正则表达式:如何将 re.sub 与可变数量的元素一起使用?

算法与正则表达式

正则表达式