【问题标题】:Change default regexp behavior in Perl?更改 Perl 中的默认正则表达式行为?
【发布时间】:2016-07-05 19:15:23
【问题描述】:

Perl 中是否有一些可用的全局选项指定默认行为正则表达式匹配行为?就像默认情况下忽略大小写一样,即使没有 i 选项匹配运算符。

【问题讨论】:

  • 为什么需要这样做?在全局更​​改某些人认为他们知道它是如何工作的东西时,肯定有可能存在蠕虫。

标签: regex perl


【解决方案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 之后全部恢复。)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多