可以在下面的网上在线测试:http://regexpal.com/
资料
常用正则表达式
表达式语言
大写就是相反的意思,如:\d为数字,\W为数字
^:开始位置
$:结束位置
+:匹配前面的子表达式一次或多次(大于等于1次)。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。
*:匹配前面的子表达式零次或多次(大于等于0次)。例如,zo*能匹配“z”,“zo”以及“zoo”。*等价于{0,}。
\d+:几位数字,+就是几位
{n}:n是一个非负整数。匹配确定的n次。例如,“o{2}”不能匹配“Bob”中的“o”,但是能匹配“food”中的两个o。
{n,}:n是一个非负整数。至少匹配n次。例如,“o{2,}”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o。“o{1,}”等价于“o+”。“o{0,}”则等价于“o*”。
{n,m}:m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。例如,“o{1,3}”将匹配“fooooood”中的前三个o。“o{0,1}”等价于“o?”。请注意在逗号和两个数之间不能有空格。
?:非贪婪模式,当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对 于字符串“oooo”,“o+?”将匹配单个“o”,而“o+”将匹配所有“o”。
如:^12-?$匹配所有以12开头,后面加或是不或-号的字符。
.点:匹配除“\r\n”之外的任何单个字符。要匹配包括“\r\n”在内的任何字符,请使用像“[\s\S]”的模式
\b:匹配一个单词边界,也就是指单词和空格间的位置。例如,“er\b”可以匹配“never”中的“er”,但不能匹配“verb”中的“er”。
l\b:所有以结尾的单词。\bgirl\b:查找所有girl单词
\w:匹配包括下划线的任何单词字符。类似但不等价于“[A-Za-z0-9_]”,这里的"单词"字符使用Unicode字符集。,注意\w包含了_但不包含-
常用正则表达式
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配首尾空格的正则表达式:(^\s*)|(\s*$)
匹配IP地址的正则表达式:我写的,(\d+)\.(\d+)\.(\d+)\.(\d+),去括号也行。比较好的是((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))。
1到55范围:^(([1-4]?[0-9])|(5[0-5]))$
两位小数:^((\d+\.\d{0,2})|(\d+))$
正整数:^[0-9]*$或^\d+$
手机号码:我写的为^1[3,5,8][0-9]{9}$,
提取信息中的任何数字 :(-?\d*)(\.\d+)?
帐号(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
E-mail地址:^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ 。注意要将符号-加进去,\w是不包含-的,只包含_