正则表达式整理

元字符:

.          
 除换行符的任意字符

\            转义字符

[...]        字符集合

\d           数字:[0-9]

\D           非数字[0-9]

\s            空白字符
[<空格>\t\r\n\f]

\S           非空白字符[^\s]

\w          
单词字符[A-Za-z0-9_]

\W          非单词字符[^\w]

数量词:

*        
      匹配一个字符0或多次

+        
      匹配前一个字符1次或多次

?        
      匹配前一个字符0次或1次

{m}    
      匹配前一个字符m次

{0,}等同于*     {1,}等同于+     {0,1}等同于?

{m,n}        匹配前一个字符m至n次

边界符:

^        
      匹配字符串开头,多行匹配每一行开头

$        
       匹配字符串末尾,多行匹配每一行末尾

\A        
      仅匹配字符串开头

\Z        
      仅匹配字符串末尾

\b        
      匹配\w和\W之间

(^ 放在字符集合外:表示匹配字符串开头

放在字符集合里:表示非)

逻辑、分组:

|              
           左右表达式任意匹配一个

先匹配左边一旦成功则跳过匹配右边

如果|没有包含在()中,匹配整个正则表达式

(...)          
           分组匹配,从左到右,每遇到一个编号+1,分组后可加数量词

(?P<name>...)    
 除了分组序号外,指定一个name的别名

\<number>        
 引用编号为<number>的分组匹配到的字符串

(?P=name)          
引用别名为<name>的分组匹配到的串

方法、函数:

match()            
  决定RE是否在字符串刚开始的位置匹配

search()            
 扫描字符串,找到这个RE匹配的位置

findall()            
  找到RE匹配的所有子串,并把它们作为一个列表返回

finditer()            
 找到RE匹配的所有子串,并把它们作为一个迭代器返回

如果没有匹配到,match()和search()将返回None,否则返回MatchObject实例

MatchObject实例方法:

group()            
  返回被RE匹配的字符串

start()            
    返回匹配开始的位置

end()              
   返回匹配结束的位置

span()              
  返回一个元组包含匹配(开始,结束)的位置

p =
re.compile(...)

m =
p.match(‘stirng goes here‘)

if
m:

print ‘Match found:‘,m.group()

else:

print ‘No match‘

模块级函数:

match()

search()

sub()              
     re.sub(正则表达式string,要替换的string,原始字符串)

subn()              
   和sub用法一样,会同时返回替换的次数

split()            
      re.split(正则表达式,原始字符串string)

findall()

re属性(编译标志flag):

DOTALL,S            
  使.匹配包括换行在内的所有字符

IGNORECASE,I        
使匹配对大小写不敏感

LOCAL,L            
     使本地化识别(locale-aware)匹配(法语等)

MULTILINE,M          
多行匹配,影响^和$

VERBOSE,X            
能够使用REs的verbose状态,使之被组织得更清晰易懂


分组:

(...)

(...|...)

当有分组时,findall返回的结果会优先返回分组(括号中)中的数据

正则表达式整理

时间: 2024-10-29 19:07:11

正则表达式整理的相关文章

常用的正则表达式整理

说明:正则表达式通常用于两种任务:1.验证,2.搜索/替换.用于验证时,通常需要在前后分别加上^和$,以匹配整个待验证字符串:搜索/替换时是否加上此限定则根据搜索的要求而定,此外,也有可能要在前后加上\b而不是^和$.此表所列的常用正则表达式,除个别外均未在前后加上任何限定,请根据需要,自行处理. 说明 正则表达式网址 (URL) [a-zA-z]+://[^\s]*IP地址  (IP Address) ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|

常用正则表达式整理

/*以下为亲自验证过,备用*/ 待整理...... /*以上亲自验证过,备用*/ /*以下为网上复制过来的,未亲自验证过,拿来备用*/ 常用正则表达式大全!(例如:匹配中文.匹配html) 匹配中文字符的正则表达式: [u4e00-u9fa5]   评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:ns*r 评注:可以用来删除空白行 匹

php下正则表达式整理

一.正则表达式的历史背景 1,内容深厚的正则表达式 ^[email protected]+\\..+$ 形式 字符串搜索与匹配的工具 2,应用范围 手机输入法 Windows文件搜索 linux 列出文件命令 网站用户注册,如邮箱.手机号码的表单验证 ------------------------------------------------------- 二.正则表达式函数解析 1,准备工作,在此选择 php 来学习正则表达式 2,事先建立好一个 show() 函数 /** * descr

正则表达式-整理

正则表达式 正则表达式(Regular Expression )使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式的文本.正则表达式是由普通字符(所有的大写和小写字母字符,所有数字,所有标点符号以及一些符号)以及特殊字符(称为元字符,具有特殊含义的字符)组成的文字模式.正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配. 正则表达式可以用来: (1)验证字符串是否符合指定特征,比如验证是否是合法的邮件地址. (

jquery下常用正则表达式整理(可直接粘贴使用)

与正则表达式做比较的方法 var _val = '1234'; var _ev = /^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/; //双斜杠之间写正则表达式_val.match(_ev);//返回结果为ture或false 此为作比较的方法 验证email通用正则表达式 var _ev = /^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$

常见正则表达式整理(欢迎各位继续添加)

名称 表达式 电话号码 /^(\d{3,4}-?)?\d{7,9}$/g 或 ^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$ 国内电话号码(0511-4405222.021-87888822) \d{3}-\d{8}|\d{4}-\d{7} 手机号码 /^(((13[0-9]{1})|(15[0-35-9]{1})|(17[0-9]{1})|(18[0-9]{1}))+\d{8})$/ 或 ^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0

常用正则表达式 整理篇

正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番.我将一些常用的表达式收藏在这里,作备忘之用.本贴随时会更新. 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节字符(包括汉字在内): [^\x00-\xff] 应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) String.prototype.len=function(){ return this.replace([^\x00-\xff]/g,"aa"

十二,正则表达式整理

基本符号: ^  表示匹配字符串的开始位置  (例外  用在中括号中[ ] 时,可以理解为取反,表示不匹配括号中字符串) $  表示匹配字符串的结束位置 *  表示匹配 零次到多次 +  表示匹配 一次到多次 (至少有一次) ?  表示匹配零次或一次 .  表示匹配单个字符 |  表示为或者,两项中取一项 (  ) 小括号表示匹配括号中全部字符 [  ] 中括号表示匹配括号中一个字符 范围描述 如[0-9 a-z A-Z] {  } 大括号用于限定匹配次数  如 {n}表示匹配n个字符  {n,

linux文本处理之常用正则表达式整理

^ 行首. $行尾. . 除换行符之外任意一个字符. * 前面的字符重复0到多次. .*用于匹配所有字符. []定义一组字符,匹配组内任一一个字符(注意!只是组内的一个!) [^] 对字符组内的字符做取反操作(不包涵组内任一一个字符) ^[] 组内字符串开头的行. ^[^] 非组内字符串开头的行. [a-z]  匹配一个小写字母. [A-Z] 匹配一个大写字母. [a-Z] 匹配一个小写和大写字母. [0-9] 匹配一个0-9的数字. \< 匹配单词头 \> 匹配单词尾 (单词在正则中的定义,