【发布时间】:2013-09-04 12:41:35
【问题描述】:
the regex expression is as below:
if ($ftxt =~ m|/([^=]+)="(.+)"|o)
{
.....
}
这个正则表达式似乎与许多其他正则表达式不同。让我感到困惑的是“|” ,大多数正则表达式使用“/”而不是“|”。而且,组 ([^=]+) 也让我感到困惑。我知道 [^=] 表示“字符串的开头”或“=”,但是重复 '^' 一次或多次是什么意思? ,如何解释?
【问题讨论】:
-
您对
[^=]的解释是错误的。正则表达式中的括号开始匹配的单个字符类,开头的^否定它。在括号内的其他地方,它表现为文字字符(许多其他字符在括号内失去其特殊含义)。如果没有括号,^=将匹配行首的等号。