很多人认为正则表达式是晦涩难懂的,书写正则表达式是一件很费力气的事情,其实不然。大多数正则表达式是很简单的,除了少数几个很难理解的概念(如后向引用、分组、断言等,这些将在后面章节进行详细介绍)之外。
可以说,最简单的正则表达式是由一个字符组成的表达式。以下表达式都是正则表达式。
a (1)
b (2)
c (3)
. (4)
/d (5)
/w (6)
正则表达式a能够从给定的字符串或文本中匹配字符“a”;正则表达式/d能够从给定的字符串或文本中匹配所有数字字符;正则表达式/w能够从给定的字符串或文本中匹配所有单词字符(包括英文字符、数字、下划线、汉字)。正则表达式.能够从给定的字符串或文本中匹配所有的非换行字符。
下面的正则表达式稍微复杂一些。一些正则表达式由多个字符组成,一些正则表达式还包含了限定符(正则表达式中的一个理论,将在后面章节详细介绍)。
ha (7)
string (8)
abc (9)
.+ (10)
/d+ (11)
/w+ (12)
正则表达式ha能够从给定的字符串或文本中匹配字符串“ha”;正则表达式string能够从给定的字符串或文本中匹配字符串“string”;正则表达式abc能够从给定的字符串或文本中匹配字符串“abc”;正则表达式/d+能够从给定的字符串或文本中匹配由数字字符组成的、长度至少为1的字符串;正则表达式/w+能够从给定的字符串或文本中匹配由单词字符组成的、长度至少为1的字符串;正则表达式.+能够从给定的字符串或文本中匹配由非换行字符组成的、长度至少为1的字符串。
当然,使用正则表达式的理论也可以创建一些非常复杂的正则表达式。以下正则表达式都能够验证给定的字符串是否为实数。
-?(0|([1-9]/d*))/./d+ (13)