正则表达式
来源:互联网 发布:sql语句美化工具开发 编辑:程序博客网 时间:2024/06/01 07:29
正则表达式:
点
匹配任何单个字符。
例如:
正则表达式r.t匹配这些字符串:rat、rut、r t,但是不匹配root。
?
匹配0或1个正好在它之前的那个字符。
注意:
这个元字符不是所有的软件都支持的。
该字符不能用在正则表达式的开头。
^
匹配一行的开始。
例如:
正则表达式^When in.* 能够匹配字符串“When in the…”的开始,但是不能匹配“What and When in the…“。
$
匹配行结束符。
例如:
正则表达式weasel$ 能够匹配字符串“He‘s a weasel”的末尾,但是不能匹配字符串“They are a bunch of weasels.”。
*
匹配0或多个正好在它之前的那个字符。
例如:
正则表达式.*意味着能够匹配任意数量的任何字符。
注意:不能用在正则表达式的开头。
+
匹配1或多个正好在它之前的那个字符。
例如:
正则表达式9+匹配9、99、999等。
注意:
这个元字符不是所有的软件都支持的。
不能用在正则表达式的开头。
\
这是引用符,用来将这里列出的这些元字符当作普通的字符来进行匹配。
例如:
正则表达式\$被用来匹配美元符号,而不是行尾,类似的,正则表达式\.用来匹配 点字符,而不是任何字符的通配符。
|
将两个匹配条件进行逻辑“或”(Or)运算。
例如:
正则表达式(him|her) 匹配“it belongs to him”和“it belongs to her”,但是不能匹配“it belongs to them.”。
注意:这个元字符不是所有的软件都支持的。
()
将 ( 和 ) 之间的表达式定义为“组”,并且将匹配这个表达式的字符保存到一个临时区域(一个正则表达式中最多可以保存9个),它们可以用 \1 到\9 的符号来引用。
例如:
正则表达式”.*(dream).*\1.*” 匹配“when I dream I dream you”,但是不能匹配“I have a dream”
[0-9] 匹配0-9的单个字符
[a-z] [A-Z]
匹配任意单个数字或字母:[0-9]|[a-z]|[A-Z] [0-9a-zA-Z]
匹配5-10位数字或字母:[0-9]|[a-z]|[A-Z] [0-9a-zA-Z]{5,10}
{i} {i,j}
匹配指定数目的字符,这些字符是在它之前的表达式定义的。
例如:
正则表达式A[0-9]{3} 能够匹配字符“A”后面跟着正好3个数字字符的串,例如A123、A348等,但是不匹配A1234。
而正则表达式[0-9]{4,6} 匹配连续的任意4个、5个或者6个数字字符。
注意:
这个元字符不是所有的软件都支持的。
预先定义的字符类
\d 一个数字字符[0-9]
\D 一个非数字字符[^0-9]
\s 一个空白字符[\t\n\t\f\x0B]
\S 一个非空白字符
\w 一个单词字符
\W 一个非单词字符
匹配中文字符的正则表达式:
[\u4e00-\u9fa5]
获取日期正则表达式:
\d{4}[年|\-|\.]\d{1,2}[月|\-|\.] \d{1,2}日?
匹配空白行的正则表达式
\n\s*\r
匹配HTML标记的正则表达式:
<(\S*?) [^>]*>.*?</>|<.*? />
匹配ip地址:
((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d \d?)。
匹配国内电话号码:
\d{4}-\d{7}|\d{3}-\d{8}
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):
^[a-zA-Z][a-zA-Z0-9_]{4,15}$
匹配腾讯QQ号(腾讯QQ号从10000开始 ):
[1-9][0-9]{4,}
匹配中国邮政编码(中国邮政编码为6位数字 ):
[1-9]\d(?!\d)
匹配身份证(中国的身份证为15位或18位 ):
\d{17}[\d|X]|\d{15}
匹配特定数字:
^[1-9]\d*$ //匹配正整数
^-[1-9]\d*$ //匹配负整数
^-?[1-9]\d*$ //匹配整数
^[1-9]\d*|0$ //匹配非负整数(正整数 + 0)
^-[1-9]\d*|0$ //匹配非正整数(负整数 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //匹配正浮点数
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配负浮点数
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮点数
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ //匹配 非负浮点数(正浮点数 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //匹配非正浮点数(负浮点数 + 0)
匹配特定字符串:
^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串
日期格式为2011-11-11或者2011/11/11或者2011年11月11日?
email的格式?^.*@.*\.com$
手机号格式?
电话?[0-9]{4}-[0-9]{7} 000-11111111
用户名只能包含字母和数字,并且数字不能开头,长度为5-10位: [a-zA-Z][0-9a-zA-Z]{4,9}
点
匹配任何单个字符。
例如:
正则表达式r.t匹配这些字符串:rat、rut、r t,但是不匹配root。
?
匹配0或1个正好在它之前的那个字符。
注意:
这个元字符不是所有的软件都支持的。
该字符不能用在正则表达式的开头。
^
匹配一行的开始。
例如:
正则表达式^When in.* 能够匹配字符串“When in the…”的开始,但是不能匹配“What and When in the…“。
$
匹配行结束符。
例如:
正则表达式weasel$ 能够匹配字符串“He‘s a weasel”的末尾,但是不能匹配字符串“They are a bunch of weasels.”。
*
匹配0或多个正好在它之前的那个字符。
例如:
正则表达式.*意味着能够匹配任意数量的任何字符。
注意:不能用在正则表达式的开头。
+
匹配1或多个正好在它之前的那个字符。
例如:
正则表达式9+匹配9、99、999等。
注意:
这个元字符不是所有的软件都支持的。
不能用在正则表达式的开头。
\
这是引用符,用来将这里列出的这些元字符当作普通的字符来进行匹配。
例如:
正则表达式\$被用来匹配美元符号,而不是行尾,类似的,正则表达式\.用来匹配 点字符,而不是任何字符的通配符。
|
将两个匹配条件进行逻辑“或”(Or)运算。
例如:
正则表达式(him|her) 匹配“it belongs to him”和“it belongs to her”,但是不能匹配“it belongs to them.”。
注意:这个元字符不是所有的软件都支持的。
()
将 ( 和 ) 之间的表达式定义为“组”,并且将匹配这个表达式的字符保存到一个临时区域(一个正则表达式中最多可以保存9个),它们可以用 \1 到\9 的符号来引用。
例如:
正则表达式”.*(dream).*\1.*” 匹配“when I dream I dream you”,但是不能匹配“I have a dream”
[0-9] 匹配0-9的单个字符
[a-z] [A-Z]
匹配任意单个数字或字母:[0-9]|[a-z]|[A-Z] [0-9a-zA-Z]
匹配5-10位数字或字母:[0-9]|[a-z]|[A-Z] [0-9a-zA-Z]{5,10}
{i} {i,j}
匹配指定数目的字符,这些字符是在它之前的表达式定义的。
例如:
正则表达式A[0-9]{3} 能够匹配字符“A”后面跟着正好3个数字字符的串,例如A123、A348等,但是不匹配A1234。
而正则表达式[0-9]{4,6} 匹配连续的任意4个、5个或者6个数字字符。
注意:
这个元字符不是所有的软件都支持的。
预先定义的字符类
\d 一个数字字符[0-9]
\D 一个非数字字符[^0-9]
\s 一个空白字符[\t\n\t\f\x0B]
\S 一个非空白字符
\w 一个单词字符
\W 一个非单词字符
匹配中文字符的正则表达式:
[\u4e00-\u9fa5]
获取日期正则表达式:
\d{4}[年|\-|\.]\d{1,2}[月|\-|\.] \d{1,2}日?
匹配空白行的正则表达式
\n\s*\r
匹配HTML标记的正则表达式:
<(\S*?) [^>]*>.*?</>|<.*? />
匹配ip地址:
((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d \d?)。
匹配国内电话号码:
\d{4}-\d{7}|\d{3}-\d{8}
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):
^[a-zA-Z][a-zA-Z0-9_]{4,15}$
匹配腾讯QQ号(腾讯QQ号从10000开始 ):
[1-9][0-9]{4,}
匹配中国邮政编码(中国邮政编码为6位数字 ):
[1-9]\d(?!\d)
匹配身份证(中国的身份证为15位或18位 ):
\d{17}[\d|X]|\d{15}
匹配特定数字:
^[1-9]\d*$ //匹配正整数
^-[1-9]\d*$ //匹配负整数
^-?[1-9]\d*$ //匹配整数
^[1-9]\d*|0$ //匹配非负整数(正整数 + 0)
^-[1-9]\d*|0$ //匹配非正整数(负整数 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //匹配正浮点数
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配负浮点数
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮点数
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ //匹配 非负浮点数(正浮点数 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //匹配非正浮点数(负浮点数 + 0)
匹配特定字符串:
^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串
日期格式为2011-11-11或者2011/11/11或者2011年11月11日?
email的格式?^.*@.*\.com$
手机号格式?
电话?[0-9]{4}-[0-9]{7} 000-11111111
用户名只能包含字母和数字,并且数字不能开头,长度为5-10位: [a-zA-Z][0-9a-zA-Z]{4,9}
阅读全文
0 0
- 【正则表达式】正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- R语言中的导出为pdf文件或txt文件的注意事项
- 10031---JNDI学习总结(一)——JNDI数据源的配置
- EasyUI--引入文件
- 线程池ThreadPoolExecutor剖析
- maven 创建helloword
- 正则表达式
- @RestController
- 2017年7月-占位
- select框触发事件过程
- c++方向笔面试推荐书籍
- hbase phoenix 插入数据
- android 设置中清除数据 重启应用
- 2017年7月-占位
- 2017年7月30日-占位