
已解决问题
谷歌safez用户在2016.05.01提交了关于“徐新正则表达式入门简介”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-05-12T10:04:14。希望大家能够帮助她。详细问题描述及疑问:期待您的答案,我不知道说什么才好,除了谢谢 !
详细问题描述及疑问:期待您的答案,我不知道说什么才好,除了谢谢 !
简
正则表达式可以让用户通过使用一系列的特殊字符构建匹配模式,
举例来说,正
基本语法
在对正则表达式的功能和作用有了初步的了
正则表达式的形式一般如下:
/love/
其中位于“/”定界符之间的部分就是将要在目标对
较为常用的元字符包括:“+”,“*”,
下面,就让我们来看一下正
/fo+/
因为
/eg*/
因
/Wil
因为上述
除了元字符之外,用
/jim{2,6}/
上述正则
在对如何使用正
s:用于匹配单个空格
d:用于匹配从0到9的
w:用于匹配字母,数字或
W:用于匹配所有与w
.:用于匹配除换行
下面,我们就通过实例看一下如何在正则表达式中使用上述元字符。
/s+/
上述正则表达式可以用于匹配目标对象中的一个或多个空格字符。
/d000/
如果我们手中有一份复杂的财务报表,那么我们可以通过上述正则表达式轻而易举的查找到所有总额达千元的款项。
除了我们以上所介绍的元字符之外,正则表达式中还具有另外一种较为独特的专用字符,即**符。**符用于规定匹配模式在目标对象中的出现位置。
较为常用的**符包括:“^”,“$”,“b”以及“B”。其中,“^”**符规定匹配模式必须出现在目标字符串的开头,“$”**符规定匹配模式必须出现在目标对象的结尾,b**符规定匹配模式必须出现在目标字符串的开头或结尾的两个边界之一,而“B”**符则规定匹配对象必须位于目标字符串的开头和结尾两个边界之内,即匹配对象既不能作为目标字符串的开头,也不能作为目标字符串的结尾。同样,我们也可以把“^”和“$”以及“b”和“B”看作是互为逆运算的两组**符。举例来说:
/^hell/
因为上述正则表达式中包含“^”**符,所以可以与目标对象中以“hell”,“hello”或“hellhound”开头的字符串相匹配。
/ar$/
因为上述正则表达式中包含“$”**符,所以可以与目标对象中以“car”,“bar”或“ar”结尾的字符串相匹配。
/bbom/
因为上述正则表达式模式以“b”**符开头,所以可以与目标对象中以“bomb”,或“bom”开头的字符串相匹配。
/manb/
因为上述正则表达式模式以“b”**符结尾,所以可以与目标对象中以“human”,“woman”或“man”结尾的字符串相匹配。
为了能够方便用户更加灵活的设定匹配模式,正则表达式允许使用者在匹配模式中指定某一个范围而不局限于具体的字符。例如:/[A-Z]/
上述正则表达式将会与从A到Z范围内任何一个大写字母相匹配。
/[a-z]/
上述正则表达式将会与从a到z范围内任何一个小写字母相匹配。
/[0-9]/
上述正则表达式将会与从0到9范围内任何一个数字相匹配。
/([a-z][A-Z][0-9])+/
上述正则表达式将会与任何由字母和数字组成的字符串,如“aB0”等相匹配。这里需要提醒用户注意的一点就是可以在正则表达式中使用“()”把字符串组合在一起。“()”符号包含的内容必须同时出现在目标对象中。因此,上述正则表达式将无法与诸如“abc”等的字符串匹配,因为“abc”中的最后一个字符为字母而非数字。
如果我们希望在正则表达式中实现类似编程逻辑中的“或”运算,在多个不同的模式中任选一个进行匹配的话,可以使用管道符“|”。例如:
/to|too|2/
上述正则表达式将会与目标对象中的“to”,“too”,或“2”相匹配。
正则表达式中还有一个较为常用的运算符,即否定符“[^]”。与我们前文所介绍的**符“^”不同,否定符“[^]”规定目标对象中不能存在模式中所规定的字符串。例如:
/[^A-C]/
上述字符串将会与目标对象中除A,B,和C之外的任何字符相匹配。一般来说,当“^”出现在“[]”内时就被视做否定运算符;而当“^”位于“[]”之外,或没有“[]”时,则应当被视做**符。
最后,当用户需要在正则表达式的模式中加入元字符,并查找其匹配对象时,可以使用转义符“”。例如:
/Th*/
上述正则表达式将会与目标对象中的“Th*”而非“The”等相匹配。