正则表达式

字符串前面加r,是raw的意思,它表示对字符串不进行转义。

print “\bhi”
hi

print r”\bhi”
\bhi


字符含义及用法
^匹配字符串的开始
$匹配字符串的结束
|相当于or,它连接的两个表达式,只要满足其中之一,就会被算作匹配成功。
[]匹配满足括号中任一字符
.匹配除换行符以外的任意字符
[^a][a]的反义,表示除a以外的任意字符
[^abcd]匹配abcd以外的任意字符
\d匹配数字
[0-9]匹配数字
\s匹配任意的空白符
\w匹配字母或数字或下划线或汉字
\b匹配单词开头或结束的位置
\S匹配任意不是空白符的字符,其实是\s的反义
\W匹配任意不是字母,数字,下划线,汉字的字符
\D匹配任意非数字的字符
\B匹配不是单词开头或结束的位置
重复
*字符重复任意长度包括0
+字符重复1次或更长
{}大括号内写期望的字符重复次数
?重复零次或一次
{n,}重复n次或更多次
{n,m}重复n到m次

1.“\b”

“\b”在正则表达式中表示单词的开头或结尾,空格、标点、换行都算是单词的分割。而“\b”自身又不会匹配任何字符,它代表的只是一个位置。

使用“\bhi\b”这个正则表达式,找出‘hi’
使用“\bhi”,找出hi开头的字符串

2.[]

在正则表达式中,[]表示满足括号中任一字符

3.re模块

re.findall(r"hi", text)

re是python里的正则表达式模块。findall是其中一个方法,用来按照提供的正则表达式,去匹配文本中的所有符合条件的字符串。返回结果是一个包含所有匹配的list。

4.“.”和“\S”

“.”在正则表达式中表示除换行符以外的任意字符。

在这段文本中:Hi, I am Shirley Hilton. I am his wife.
如果我们用“i.”去匹配,就会得到[‘i,’, ‘ir’, ‘il’, ‘is’, ‘if’]

与“.”类似的一个符号是“\S”,它表示的是不是空白符的任意字符,注意是大写字符S。

5.“?”和"*"

在很多搜索中,会用“?”表示任意一个字符,”*”表示任意数量连续字符,这种被称为通配符。但在正则表达式中,任意字符是用“.”表示,而”*”则不是表示字符,而是表示数量:它表示前面的字符可以重复任意多次(包括0次),只要满足这样的条件,都会被表达式匹配上。

结合前面的“.*”,用“I.*e”去匹配,想一下会得到什么结果?
[‘I am Shirley Hilton. I am his wife’]

也许你会以为是[‘I am Shirle’, ‘I am his wife’]

这是因为“*”在匹配时,会匹配尽可能长的结果。如果你想让他匹配到最短的就停止,需要用“.*?”。如“I.*?e”,就会得到第二种结果。这种匹配方式被称为懒惰匹配,而原本尽可能长的方式被称为贪婪匹配。

6.匹配数字:如电话号码等

[0-9]* 或者\d* 表示任一长度的数字,类似的还有[a-zA-Z]的用法。
但要注意的是,*表示的任意长度包括0,也就是没有数字的空字符也会被匹配出来。

一个与*类似的符号+,表示的则是1个或更长。
所以要匹配出所有的数字串,应当用[0-9]+或者\d+

如果要限定长度,就用{}代替+,大括号里写上你想要的长度。比如11位的数字:\d{11}
想要再把第一位限定为1,就在前面加上1,后面去掉一位:1\d{10}

例子
Q:写一个匹配以下号码的正则表达式
(021)88776543
010-55667890
02584453362
0571 66345673

A:(?0\d{2,3}[) -]?\d{7,8}

内容概要:本文详细介绍了扫描单分子定位显微镜(scanSMLM)技术及其在三维超分辨体积成像中的应用。scanSMLM通过电调透镜(ETL)实现快速轴向扫描,结合4f检测系统将不同焦平面的荧光信号聚焦到固定成像面,从而实现快速、大视场的三维超分辨成像。文章不仅涵盖了系统硬件的设计与实现,还提供了详细的软件代码实现,包括ETL控制、3D样本模拟、体积扫描、单分子定位、3D重建和分子聚类分析等功能。此外,文章还比较了循环扫描与常规扫描模式,展示了前者在光漂白效应上的优势,并通过荧光珠校准、肌动蛋白丝、线粒体网络和流感A病毒血凝素(HA)蛋白聚类的三维成像实验,验证了系统的性能和应用潜力。最后,文章深入探讨了HA蛋白聚类与病毒感染的关系,模拟了24小时内HA聚类的动态变化,提供了从分子到细胞尺度的多尺度分析能力。 适合人群:具备生物学、物理学或工程学背景,对超分辨显微成像技术感兴趣的科研人员,尤其是从事细胞生物学、病毒学或光学成像研究的科学家和技术人员。 使用场景及目标:①理解和掌握scanSMLM技术的工作原理及其在三维超分辨成像中的应用;②学习如何通过Python代码实现完整的scanSMLM系统,包括硬件控制、图像采集、3D重建和数据分析;③应用于单分子水平研究细胞内结构和动态过程,如病毒入侵机制、蛋白质聚类等。 其他说明:本文提供的代码不仅实现了scanSMLM系统的完整工作流程,还涵盖了多种超分辨成像技术的模拟和比较,如STED、GSDIM等。此外,文章还强调了系统在硬件改动小、成像速度快等方面的优势,为研究人员提供了从理论到实践的全面指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值