R循环结果/Python正则表达式-2021年12月1日

代码整理

核心是把pump模型分析透彻

理解R中的for循环结构

for (name in seq){exp}
name是循环变量,每次循环时,name都从seq中取值,然后执行exp的语句,当name不在seq中时,循环终止。

Python正则化

1.正则表达式用于在文本中查找匹配的字符串,Python中的数量词默认是贪婪的,即获取"ab",将找到"abbb"。

一般字符匹配规则格式匹配的字符情况
\转义字符\ ..
.匹配除换行符\n之外的所有字符
[]匹配字符集中的任意字符[abc]a,b,c
\s匹配空白字符a\sba b,a b,…
\S匹配非空白字符a\Sbab,a1b,acb,…
\w匹配单词字符a\wbacb,aCb,…
\W匹配非单词字符a\Wba-b,a?b,…
\d匹配数字a\dca1b,a2b,…
\D匹配非数字a\Dcacd,aCd,…

限定匹配前一个字符的次数

*或者+匹配前一个字符0到无限次a*bab,aab,…
?匹配前一个字符0或1次a?bb,ab
{m}匹配前一个字符m次a{2}baab
{m,n}匹配前一个字符m至n次,m省略,表示0-n,m省略,表示m-无限次a{2,3}baab,aaab
*? +? ?? {m}? {m,n}?使得*,+,?,{m},{m,n}变为非贪婪模式

限定边界

$匹配字符串末尾(多行模式下时匹配每一行字符串的末尾c$abc,12c,?-c,…
^匹配字符串的开头(多行模式下是每一行字符串的开头^ccab,c12,c??,…
\A匹配整个字符串的开头\Accab,…
\Z匹配整个字符串的末尾c\Zabc,…

逻辑、分组

I或者,匹配左边或者右边的表达式abcIdefabc,def
(…)括号内为一组;分组有编号,从1开始记;分组作为一个整体,I只在分组内部有效(abc){1}.(123456)+
(?P…)除编号外的另一个分组名
<number>引用编号为的分组匹配的字符串(\d)abc\15abc5,…
(?P=name)引用别名为的分组匹配到的字符串(?P=\d)abc(?P=one)7abc7,…

特殊构造

(?iLmsux)iLmsux每个字符代表一个匹配模式(?!abc)Abc,abc,…
(?#…)#之后的内容作为注释被忽略
(?=…)***之后的字符串内容需要匹配表达式,不消耗字符串内容***
(?!..)之后的字符串内容不需要匹配表达式,不消耗字符串内容
(?<=…)之后的字符串内容需要匹配表达式,不消耗字符串内容
(?<!..)之后的字符串内容需要不匹配表达式,不消耗字符串内容

2.中文字符集?

3.re模块常用方法
compile():编译正则表达式,生成一个正则表达式对象,供match()和search()这两个函数使用
pa=re.compile(‘et’)
正则表达式对象的方法:
group() 返回被re匹配的字符串
start() 返回匹配开始的位置
end() 返回一个元组包含匹配(开始,结束)的位置

常用方法:
match():尝试从字符串的起始位置匹配一个模式,如果不是在起始位置匹配成功的话,match()就返回none
search():扫描整个字符串并返回第一个成功的匹配
findall():在字符串中找到正则表达式要匹配的所有子串,并返回一个列表,如果没有找到匹配的子串,则返回空列表,可指定起始位置。
finditer():和findall类似,在字符串中所匹配的所有子串,并把它们作为一个迭代器返回。
sub():替换字符串中所有的匹配项,返回匹配后的字符串。
split():按照能够匹配的子串将字符串分割后返回列表,可指定最大分割次数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值