正则表达式 2020.2.7

随声附和 提交于 2020-02-07 23:36:43

正则表达式
*通用的字符串表达框架
*简介表达一组字符串的表达式
*判断某字符串的特征归属

例:
'PY' 'PYY' 'PYYY' 'PYYYY' ...... P后面有无穷多个Y ---->正则表达式:PY+

例:
'PY'开头
后续存在不多于10个字符
后续字符不能是'P'或'Y'
如:
'PYABC' √
'PYKXYZ' ×
用正则表达式----> PY[^PY]{0,10}

 

 

正则表达式的常用操作符

符号  含义 例子
表示任何单个字符(换行除外)   
[]  字符集对单个字符给出取值范围  [abc]表示a、b、c,[a-z]表示a到z单个字符
[^] 非字符集,对单个字符给出排除范围 [^abc]表示非a或b或c的单个字符
前一个字符0次或无限次拓展 abc*表示ab、abc、abcc、abccc......
前一个字符1次或无限次拓展  abc+表示abc、abcc、abccc......
?  前一个字符0次或一次拓展 abc?表示ab、abc
左右表达式任意一个 abc|def表示abc、def
{m}  拓展前一个字符m次  ab{2}c表示abbc
{m,n} 拓展前一个字符m至n次  ab{1,2}表示abc、abbc
匹配字符串开头 ^abc表示abc且在第一个字符串开头
$ 匹配字符串结尾 abc$表示abc且在一个字符串的结尾
() 分组标记、内部只能用|操作符  (abc)表示abc,(abc|def)表示abc、def
\d  数字,等价于[0-9]  
\w  单词字符,等价于[A-Za-z0-9]  




 





 

    
 


 

常用正则表达式:
^[A-Za-z]+$         由26个字母组成的字符串
^[A-Za-z0-9]+$       由26个字母和数字组成的字符串
^-?\d+$          整数形式的字符串
^[0-9]*[1-9][0-9]*$     正整数形式的字符串
[1-9]\d{5}          中国境内邮政编码,6位
[\u4e00-\u9fa5]       匹配中文字符
\d{3}-\d{8}|\d{4}-\d{7}    国内电话号码
\d+.\d+.\d+.\d+       ip地址格式

数字精确写法:
[1-9]?\d 0-99
1\d{2} 100-199
2[0-4]\d 200-249
25[0-5] 250-255

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!