这个perl regex表达式是什么意思?

wuchang
the regex expression is as below:
if ($ftxt =~ m|/([^=]+)="(.+)"|o)
   {
    .....
   }

这个正则表达式似乎与许多其他正则表达式不同。令我感到困惑的是“ |” ,大多数正则表达式使用“ /”代替“ |”。而且,组([^ =] +)也让我感到困惑。我知道[^ =]的意思是“字符串的开头”或“ =“,但是重复一次'^'一次或多次意味着什么?,如何解释呢?

杰瑞

您可以使用其他定界符来代替/例如,您可以使用:

m#/([^=]+)="(.+)"#o

或者

m~/([^=]+)="(.+)"~o

使用不同于此处的东西的好处/是您不必转义斜杠,因为否则,您必须使用:

m/\/([^=]+)="(.+)"/o
  ^

[或[/]]

([^=]+)是一个捕获组,在内部,您有[^=]+[^=]是否定的类,它将与不是的任何字符匹配=

^在字符类开始时的行为有所不同,并且与字符类^外部的行为不同,这意味着“行开始”。

至于最后一部分o,这是一个标志,到目前为止我还没有见过,所以经过一番搜索,我把到了这篇文章中,我引用:

/o修饰符位于perlop文档中,而不是perlre文档中,因为它是类似报价的修饰符,而不是regex修饰符。在我看来,这总是很奇怪,但事实就是如此。

在Perl 5.6之前,即使变量未更改,Perl也会重新编译正则表达式。您无需再这样做了。/o尽管对变量进行了进一步的更改,您也可以使用一次编译正则表达式,但是正如其他答案所指出的那样,这样qr//做更好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

这个比较是什么意思?

来自分类Dev

这个JavaScript正则表达式/[^\d.-]是什么意思?

来自分类Dev

这个typedef定义是什么意思?

来自分类Dev

这个定义是什么意思?

来自分类Dev

new(这个)是什么意思?

来自分类Dev

这个正则表达式是什么意思/ ^ [az] {1} [a-z0-9 _] {3,13} $ /

来自分类Dev

这些perl正则表达式是什么意思?

来自分类Dev

这个jQuery代码是什么意思?

来自分类Dev

这个Perl语法是什么意思?

来自分类Dev

这个宏是什么意思?

来自分类Dev

ANSI这个序列是什么意思?

来自分类Dev

Perl:。=〜是什么意思

来自分类Dev

这个JavaScript对象数组表达式{} []是什么意思?

来自分类Dev

将这个难题表达为CSP是什么意思

来自分类Dev

这个错误是什么意思?

来自分类Dev

这个asm表达式`64-$ + buffer`是什么意思?

来自分类Dev

<=表达式是什么意思?

来自分类Dev

这个正则表达式(\ /?)是什么意思?

来自分类Dev

这个正则表达式是什么意思?

来自分类Dev

这个C表达式是什么意思?

来自分类Dev

这个正则表达式是什么意思?

来自分类Dev

这个JavaScript对象数组表达式{} []是什么意思?

来自分类Dev

这个正则表达式是什么意思?

来自分类Dev

将这个难题表达为CSP是什么意思

来自分类Dev

这个Python表达式是什么意思?

来自分类Dev

这个scala表达式是什么意思?val h3 : 持有人[人] = h2

来自分类Dev

这个正则表达式是什么意思:[^\(\)]*?

来自分类Dev

这个包含前瞻的正则表达式的字面意思是什么?

来自分类Dev

if(x > y / z) 这个表达式的意思是什么