根据grep --help
和man grep
,我们可以使用该-P
选项将模式解释为 Perl 正则表达式(准确地说是 PCRE),而不是默认的POSIX 基本正则表达式(BRE)。
在 Perl 语言中,可以在表达式中添加各种修饰符,以调整模式解释(在 的语法中/pattern/modifiers
)。
那么,如何为 grep 的 Perl 正则表达式添加修饰符呢?我尝试了一些变体,grep -P "/^got.it$/ms" [FILE]
但搜索结果是错误的。
但是,关于PCRE的解释,手册指出:
这是高度实验性的,grep -P可能会警告未实现的功能。
grep 工具是否可能根本不支持修饰符?
顺便说一句,我注意到可以通过使用-i
选项来执行不区分大小写的模式匹配,这是一个修饰符的例子。
Flo*_*sch 24
对于修饰符,imsxadlup
您可以使用(?X)
for 如扩展模式中所述:
$ echo FOO | grep -P '(?i)foo'
FOO
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
33876 次 |
最近记录: |