正则表达式

正则表达式常用于在给定的字符串中查询、提取、替换指定的特征值。

元字符:

元字符可以用于匹配一些特殊规则。
. \ [ ] { } ? * + | ( ) ^ $

1、.

.可以匹配任意一个字符,但是不能用于匹配换行符。
例:x.o,
代表匹配“以x开头,之后是一个任意字符,紧跟着是字母o”的字符串。
x.o这样的正则表达式,可以匹配xxo、xoo、x.o这样的表达式,但是无法匹配xo、xoto这样的字符串。

2、字符类

1、字符类是一组在[]方括号内的字符,表示可以匹配其中的任何一个字符。

  • 正则表达式c[aeiou]t,表示可以匹配的字符串是”以c开头,接着是aeiou中的任何一个字符,最后以t结尾”。这样的正则表达式可以匹配:cat,cet,cit,cot,cut五种字符串。
  • 正则表达式[0123456789]表示匹配任意一个整数。
  • 正则表达式[a]表示匹配单字符a。
  • [[]\ab]表示匹配的字符为”["或者'']”或者”a”,或者”b”
  • [\[]]表示匹配的字符为”\”或者 “[”或者"]“

2、字符类中,字符的重复和出现顺序不重要

  • [daddbbddcc]与[abcd]是相同的

3、字符类中和字符类外的规则有时不同,一些字符在字符类中是元字符,在字符类外是普通字符。一些字符正好相反。还有一些字符在字符类中和字符类外都是元字符,这要视情况而定!

  • .表示匹配任意一个字符,而[.]表示匹配一个全角句号。这不是一回事!

4、在字符集中,可以使用短横线-来表示匹配字母、数字的范围;在字符集外,短横线-没有特殊含义。

  • [b-f]与[b,c,d,e,f]相同,都是匹配一个字符”b”或”c”或”d”或”e”或”f”
  • [A-Z]与[ABCDEFGHIJKLMNOPQRSTUVWXYZ]相同,都是匹配任意一个大写字母。
  • [1-9]与[123456789]相同,都是匹配任意一个非零数字。
  • [0-9.,]表明匹配一个数字,或者一个全角句号,或者一个逗号
  • [0-9a-fA-F]意味着匹配一个十六进制数
  • [a-zA-Z0-9-]意味着匹配一个字母、数字或者一个短横线
posted @ 2023-08-06 18:22  LevisL  阅读(38)  评论(0)    收藏  举报