2011-02-18 83 views
2

我试图通过一个文件,只打印出没有特定字母的字,在字符类中指定。这个perl正则表达式有什么问题?

if ($+ =~ [^Aa]) 
{ 
print $_; 
} 

但这不起作用。我究竟做错了什么?上面的例子应该给出一个没有'a'或'A'的单词列表,但它似乎没有工作。

回答

10

正则表达式表示“包含不是A的字符或不包含的字符”仅包含不是A或字符的字符“。

它也缺少分隔符。

$+ =~ /^[^Aa]*$/ 

$+ !~ /[Aa]/ 
+3

或`$ + =〜/ [^ AA] /`甚至可能是`$ +!〜/ A/i` – Htbaa 2011-02-18 08:10:57