正则表达式
正则表达式(Regular Expression,简称 regex 或 regexp)是一种文本模式描述的方法,用于字符串的搜索、替换、验证等操作。它们定义了一种搜索算法,可以根据指定的模式匹配文本中的字符串。正则表达式通常用于文本编辑器、编程语言和搜索引擎中,以实现强大的文本处理功能。
正则表达式由一系列的字符和特殊符号组成,这些字符和符号组合起来描述了一个搜索模式。这些特殊符号被称为“元字符”,它们赋予了正则表达式强大的匹配能力。例如,.
可以匹配除换行符之外的任何单个字符,*
表示匹配前面的子表达式零次或多次,+
表示匹配前面的子表达式一次或多次,?
表示匹配前面的子表达式零次或一次,等等。
正则表达式的基本组成部分包括:
-
普通字符:大多数字符,包括所有的大写和小写字母、所有的数字、标点符号和一些其他符号,都是普通字符。它们在正则表达式中只匹配自己。
-
特殊字符(也称为“元字符”):这些字符在正则表达式中有特殊的含义,用于指定搜索的模式。例如,^表示匹配输入字符串的开始位置,
$
表示匹配输入字符串的结束位置,.
表示匹配除换行符之外的任何单个字符,等等。 -
字符类:字符类允许你指定一组字符中的任何一个字符。例如,
[abc]
表示匹配a
、b
或c
中的任何一个字符,[0-9]
表示匹配任何单个数字。 -
量词:量词用于指定前面的字符或字符类出现的次数。例如,
*
表示前面的子表达式可以出现零次或多次,+
表示前面的子表达式可以出现一次或多次,?
表示前面的子表达式可以出现零次或一次,{n}
表示前面的子表达式恰好出现n
次,{n,}
表示前面的子表达式至少出现n
次,{n,m}
表示前面的子表达式至少出现n
次,但不超过m
次。 -
分组和引用:使用圆括号
()
可以将正则表达式的一部分组合成一个子表达