正则表达式(一)

1. 精确的查找字符,需要使用\b, ex: \bhi\b

假如要找的是hi后面不远处跟着lucy   \bhi\.*\blucy\b

2.    .是元字符,匹配任意一个除了换行符以外的字符, *是另一个元字符,不过它代表的不是字符,也不是位置,而是数量--它指定*前边的内容可以连续重复使用任意次以使整个表达式匹配, 因此.*连在一起的意思就是任意数量的不包含换行符的字符

3. 0\d\d-\d\d\d\d\d\d\d\d匹配这样的字符串:以0开头,然后是两个数字,然后是连字符“-”,最后是8个数字

\d是元字符,匹配一位数字,-不是元字符,匹配它本身,表达式也可以写成0\d{2}-\d{8},{2}&{8}表示前面\d重复的次数

4.正则表达式测试,可以在网上搜索测试工具

其它可用的测试工具:

  • RegexBuddy
  • Javascript正则表达式在线测试工具

5.常用的元字符

代码 说明
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符(包括空格,制表符,换行符,中文全角空格)
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束

正则表达式引擎通常会提供一个“测试指定的字符串是否匹配一个正则表达式”的方法,如JavaScript里的RegExp.test()方法或.NET里的Regex.IsMatch()方法。这里的匹配是指是字符串里有没有符合表达式规则的部分。如果不使用^$的话,对于\d{5,12}而言,使用这样的方法就只能保证字符串里包含5到12连续位数字,而不是整个字符串就是5到12位数字。

元字符^(和数字6在同一个键位上的符号)和$都匹配一个位置,这和\b有点类似。^匹配你要用来查找的字符串的开头,$匹配结尾。这两个代码在验证输入的内容时非常有用,比如一个网站如果要求你填写的QQ号必须为5位到12位数字时,可以使用:^\d{5,12}$

6.字符转义

如果想要找元字符本身的话,需要使用\取消这些字符的特殊意义

7.重复

常用的限定符


代码/语法 说明
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次
windows\d+ windows后边跟1个或者更多的数字

^\w+ 匹配第一行的第一个单词或者整个字符串的第一个单词



你可能感兴趣的:(正则表达式(一))