更改 Perl 中的默认正则表达式行为?
Posted
技术标签:
【中文标题】更改 Perl 中的默认正则表达式行为?【英文标题】:Change default regexp behavior in Perl? 【发布时间】:2016-07-05 19:15:23 【问题描述】:Perl 中是否有一些可用的全局选项指定默认行为正则表达式匹配行为?就像默认情况下忽略大小写一样,即使没有 i
选项匹配运算符。
【问题讨论】:
为什么需要这样做?在全局更改某些人认为他们知道它是如何工作的东西时,肯定有可能存在蠕虫。 【参考方案1】:您可能正在寻找re
pragma
use re '/ix'; "FOO" =~ / foo /; # /ix implied no re '/x'; "FOO" =~ /foo/; # just /i implied
【讨论】:
请注意,这不是全局的,仅适用于当前的词法范围。全局标志不是个好主意,因为模块(包括strict
之类的东西)依赖于区分大小写的匹配。
还有更多含义和细节。 (例如:re /flag
覆盖 locale
杂注和 'unicode_strings' feature
用于正则表达式 - 在no re /flag
之后全部恢复。)以上是关于更改 Perl 中的默认正则表达式行为?的主要内容,如果未能解决你的问题,请参考以下文章