正则表达式是Perl的特点之一, 也是Perl最出名的一点, 但是正则表达式简洁到可怕的语法,又是Perl难以维护的很大一个原因。
因此,我们需要尽量减少这种麻烦。
下面我们介绍一些基础的最佳实践:
一定要用/x标记
/x模式可以让你随时对正则表达式添加注释, 并进行合理的排版, 让正则表达式具有更好的可读性
一定要用/m标记
永远显示的申明匹配模式, 这样其他人在读代码时, 可以减少误解
总是使用/s标记
默认的.是不会对换行进行匹配的, 因此往往在多行文本时, 会出现意想不到的结果。因此我们建议永远开打/s开关。
对于复杂的正则表达式,优先考虑使用m{}, 而不是m//
在多行复杂的正则表达式中, 特别其他包含很多注释以及转义字符时, 往往使用{}, 可以使我们的结构更加明确。同时{}是可以做嵌套的, //在嵌套时会出现问题。使用大括号可以增加正则表达式在视觉上的独特性, 改善代码的可读性。
只使用m{} m//这2种界定符
Perl允许你使用一切你想得到的字符来作为正则表达式的界定符, 但请不要放飞自我, 你会让维护他的人崩溃的。我们只建议使用{}和//这2种界定符
匹配任意空白, 而不是指定的空白字符
数据内的空白可能是单一个某个空白字符, 也可能是多个空白字符的组合, 因此在匹配空白时, 除非有特定的需求, 你应该使用\s来匹配空白, 对于必要的空白使用\s+, 对于可选的空白使用\s*。
只在需要捕获时使用小括号
perl提供了一种不捕获的小括号形式(?:), 在你不需要捕获时, 请使用这种方式, 这样处理器不需要花时间来进行没有必要的捕获, 同时也可以避免程序的维护性以及可读性的问题。
文章转载自EasyPerl,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
2025年4月中国数据库流行度排行榜:OB高分复登顶,崖山稳驭撼十强
墨天轮编辑部
2262次阅读
2025-04-09 15:33:27
数据库国产化替代深化:DBA的机遇与挑战
代晓磊
1045次阅读
2025-04-27 16:53:22
2025年3月国产数据库大事记
墨天轮编辑部
958次阅读
2025-04-03 15:21:16
2025年3月国产数据库中标情况一览:TDSQL大单622万、GaussDB大单581万……
通讯员
657次阅读
2025-04-10 15:35:48
数据库,没有关税却有壁垒
多明戈教你玩狼人杀
524次阅读
2025-04-11 09:38:42
国产数据库需要扩大场景覆盖面才能在竞争中更有优势
白鳝的洞穴
507次阅读
2025-04-14 09:40:20
最近我为什么不写评论国产数据库的文章了
白鳝的洞穴
464次阅读
2025-04-07 09:44:54
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
419次阅读
2025-04-17 17:02:24
天津市政府数据库框采结果公布,7家数据库产品入选!
通讯员
396次阅读
2025-04-10 12:32:35
2025年4月国产数据库中标情况一览:4个千万元级项目,GaussDB与OceanBase大放异彩!
通讯员
391次阅读
2025-04-30 15:24:06