正则表达式学习

来源:互联网 发布:homebrew 安装的mysql 编辑:程序博客网 时间:2024/06/05 08:03

1、\b代表单词的开头或结尾,也就是单词的分解处;

2、.是一个元字符,匹配除了换行符以外的任意字符,*表示数量,.*连在一起意味着任意数量的不包含换行的字符。

3、\d匹配一位数字(0,或1,或2,或.......)。-不是元字符,只匹配它本身-连字符(或者减号,或者中横线),为了避免重复也可以使用\d{2}-\d{8}。这里\d后面的{2}({8})的意思是前面的\d必须连续重复匹配2次(8次)。

4、\s匹配任意的空白符,包括空格,制表符(tab),换行符,中文全角空格等。\w 匹配 字母或数字或下划线或汉字等。

\ba\w*\b匹配 以字母a 开头的单词,然后是任意数量的字母或数字(\w*),最后是单词结束。

\d+匹配1个或更多连续的数字。这里的+和*号类似的元字符,不同的是*匹配 重复任意次(可能是0次),而+则匹配 重复1次或更多次。

^ 匹配字符串的开始

$ 匹配字符串的结束

^和$这两个字符在验证输入的内容时非常有效,比如:要求你填写的QQ号必须为5-12位数字时:^\d{5,12}$,^\w+ 匹配一行的第一个单词


5、[aeiou]匹配任何一个英文元音字母,[. ? !] 匹配标点符号(. 或? 或!)。[0-9]代表的含义是:一位数字,[a-z0-9A-Z]也完全等同于\w,下面是一个更复杂的表达式:\(?0\d{2}[) -] ?\d{8}  此表达式的分析:首先是一个转义字符\(,它可能出现0次或1次(?),然后是一个0,后面跟着两个数字(\d{2}),然后是)或 - 或 空格中的一个,它出现1次或不出现(?),最后是8个数字(\d{8})。


6、|把不同的规则分开。

0\d{2}-\d{8}|0\d{3}-\d{7}这个表达式能匹配两种以连字号分割的电话号码,一种是8为本地号(如010-12345678),一种是7为本地号(0376-2233445)。

\(?0\d{2}\)?[- ]?\d{8}|0\d{2}[- ]?\d{8},这个表达式匹配3号区号的电话号码,其中区号可以用小括号括起来,也可以不用,区号与本地号间可以用连字符或空格间隔,也可以没间隔。

7、可以用小括号来指定子表达式,也叫分组,

(\d{1,3}\.){3}\d{1,3}是一个简单的IP地址匹配表达式。

8、\W 匹配任意不是字母,数字,下划线,汉字的字符        \S匹配任意不是空白符的字符         \D匹配任意非数字的字符,               \B匹配不是单词开头或结束的位置

[^x]  匹配除了x以外的任意字符                     <a[^>]+> 匹配,用尖括号扩起来的以a开头的字符串。







0 0
原创粉丝点击