一个简单的Perl正则表达式保证永远不会匹配字符串?

时间:2011-01-03 23:37:59

标签: regex perl

  

可能重复:
  A Regex that will never be matched by anything

我有一个以正则表达式作为参数的脚本。默认情况下,我想将正则表达式设置为永远不会匹配任何字符串的东西,所以我可以简单地说

if ($str =~ $regex)

没有例如必须首先检查已定义的($ regex)。

我想出了

qr/[^\s\S]/

但不知道这是否会匹配某个既不是空格也不是非空格的utf8字符。

3 个答案:

答案 0 :(得分:20)

答案 1 :(得分:5)

为任意字符组合负向前瞻,然后匹配该字符,例如

/(?!x)x/

适用于我投入的所有测试用例。以下是rubular的一些测试。

答案 2 :(得分:4)

/ ^/似乎做了,而且很短(可能)。