【发布时间】:2014-05-22 14:17:16
【问题描述】:
在下面的正则表达式中,“(?i)”和“?@”是什么意思?
(?i)<.*?@(?P<domain>\w+\.\w+)(?=>)
我知道“?”表示零或一,并且 i 设置不区分大小写。
此正则表达式从 mailto 字段中的电子邮件地址捕获域,但不包括 @ 符号。它是从 SPLUNK 6.0.2 中生成的 erex 命令
【问题讨论】:
-
您确定您没有忘记
(?P部分中的任何字符吗?例如。(?:P? -
这绝对像引用的那样有效。
-
@sp00m 实际上是命名提取的一部分 (?P...)。它可能特定于 SPLUNK。
-
这在StackOverflow Regular Expression FAQ 中得到了部分解决。相关问题:
*?:zero-or more with reluctant quantifier(“量词”部分,在顶部)和What does theimodifier mean?,(“修饰符”部分,大约向下 1/2)。 -
Splunk 也列在“General documentation > Official documentation for specific flavor”下,大约下降了 3/4。