正则表达式-基础

[]可以定义一个字符集合,字符集合的匹配结果能够与该集合里的任意一个成员相匹配的文本

字符区间可以使用 - 连字符来定义

A-Z 匹配从A到Z的所有大写字母

a-z 匹配从a到z的所有小写字母

A-F 匹配从A到F的所有大写字母

A-z 匹配从ASCII字符A到ASCII字符z的所有字母。这个模式一般不常用,因为它还包含着[和^等在ASCII字符表里排列在Z和a之间的字符

字符区间的首,尾字符可以是ASCII字符表里的任意字符。但在实际中,最常用的字符区间还是数字字符区间和字母字符区间

 

注:-只能在[]间出现,出现在[]外面,相等于匹配-

 

^取非匹配,作用于给定字符集合里的所有字符活字符区间,而不是紧跟着^后面的那一个字符或字符区间

 

元字符不转义,是匹配不到等于它本身的字符串的 [] . \ h

空白元字符

[\b] 回退并删除一个字符(backspace)

\f 换页符

\n 换行符

\r 回车符

\t 制表符tab键

\v 垂直制表符

\r\n是windows使用的文本行结束标签。系统只使用一个换行符来结束一个文本行。在unix/linuxi同上匹配空白行只使用\n\n即可,不需要加上\r。同时适用于windows和unix/linux系统的正则表达式应该包含一个可选的\r和一个必须被匹配的\n

需要匹配的----\r\n\t比较常见

 

\d 匹配任何一个数字字符

\D 匹配任何一个非数字字符

\w 匹配任何一个字母数字字符(大小写)或者下划线字符=[0-9a-zA-Z_]

\W 匹配任何一个非字母数字或非下划线字符=[^0-9a-zA-Z_]

\s 匹配任何一个空白字符=[\f\r\n\t\v]

\S 匹配任何一个非空白字符=[^\f\n\r\t\v]

 

匹配十六进制:\x0A对应ASCII字符10=\n

匹配八进制:\011对应ASCII字符9=\t

有的正则表达式还允许使用\c前缀,来制定各种控制字符。比如\cZ将匹配Ctrl-Z

有的正则表达式还支持POSIX字符类,javascript不支持

[:alnum:] 任何一个字母或数字

[:alpha:] 任何一个字母

[:blank:] 空格制表符

[:cntrl:] ASCII控制字符

[:digit:] 任何一个数字 …………

 

匹配字符

+ 匹配一个或多个字符

* 匹配零个或者多个,可有可无,可多可少

? 陪陪零个或者一个字符 举例:http与https

{可以设定匹配字符的次数}

格式:

{3} 匹配三次

{4,8} 匹配最少4次,最多8次

{3,} 匹配重复最少3次

 

如果需要匹配/这个字符,最好还是加上\/,转义字符

 

* + 为贪婪性元字符,在进行匹配时,行为模式是多多益善而不是适可而止的,会尽可能的从一段文本的开头一直匹配到文本的末尾,而不是从这段文本的开头匹配到碰到的第一个匹配是为止。

懒惰型字符相反。

 

贪婪型字符 懒惰型字符

* *?

+ +?

{n,} {n,}?

\w相匹配的字符是单词边界,\W相匹配的是非单词边界

\b单词边界字符,例如:至匹配 at 而不匹配 what,可以使用 --\bat\b

\B匹配一个前后都不是单词边界的连字符(-),nine-digit不能匹配,color - coded的连字符(-)可以匹配

 

^.*$ 匹配字符串的开头与结尾

(?m)匹配行分隔符,将换行符当作一个字符串分隔符

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值