正则表达式

来源:互联网 发布:时代网络 12岁 编辑:程序博客网 时间:2024/05/24 23:15

正则表达式

正则表达式(regular expression regex RE),是采用简洁表达一组字符串的表达式。
比如:‘PN’ , ‘PYN’, ‘PYTN’ , ‘PYTHN’ , ‘PYTHON’这一组字符串可以用 P(Y | YT | YTH | YTHO) ?N 表示
又如:’PY‘ , ‘PYY’ , ‘PYYY’ , … , ‘PYYYYYYYYYYY’ 这一组字符串可以用 PY+表示
再如:以’PY‘开头,后续字符不多于10个且又不能包含 ’P’ 或 ‘Y’ 的字符串可以用 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次或1次扩展 abc?表示abc,ab | 左右表达式各1个 abc|def表示abc或者def {m} 扩展前一个字符m次 ab{2}c表示abbc {m,n} 扩展前一个字符m至n次(含n次) ab{1,2}c表示abc,abbc ^ 匹配字符串开头 ^abc表示abc且在一个字符串的开头 $ 匹配字符串结尾 abc$表示abc且在一个字符串的结尾 () 分组标记,内部只能使用|操作符 (abc)表示abc,(abc|def)表示abc或def \d 数字,等价于[0-9] \w 单词字符,等价于[A-Z,a-z]