正则expression式*不*匹配任何字符
我知道这是一个相当奇怪的目标,但是对于我们的系统之一,我们需要不过滤任何input,并让腐败进入系统。
我目前的正则expression式是“ \^.* ” 
问题是,它不符合计划的字符…但是对于一个匹配,它的工作。 使它不起作用的string是^ @ jj(基本上任何有^的东西)。
 现在不匹配任何字符的最好方法是什么? 我正在考虑删除“ \但只有这样才能将“不”变成“开始”。 
 除了在一个字符类( [] )内, ^字符并不意味着“不”。 如果你不想匹配任何东西,你可以使用一个匹配任何东西的负面预测: (?!.*) 。 
 一个简单而便宜的正则expression式,永远不会匹配任何东西,是匹配一些简单无法比拟的东西,例如: \b\B 
这个正则expression式根本不可能匹配,因为这是一个矛盾。
参考
-   regular-expressions.info \ Word边界
-   \B是\b的否定版本。\B匹配\b没有的每个位置。
 
-   
另一个很好的支持和快速模式,将无法匹配任何保证是恒定的时间:
  $unmatchable pattern $anything goes here等 
  $当然表示行尾。 没有字符可能会超过$所以不可能进一步的状态转换。 额外的好处是你的模式是直观的,自我描述和可读的! 
 为什么不匹配所有的字符,而不是试图匹配任何字符?  ^.*$应该做的伎俩。 如果你不得不匹配任何字符,那么试试^\j$ (当然,假设你的正则expression式引擎在你提供一个无效的字符类的时候不会抛出一个错误,如果是这样的话,试试^()$ 。 RegexBuddytesting表明这可能工作。 
^只有当它在类中时(例如[^ az]除了az以外才有意义)。 你用反斜杠把它变成了文字。
你想要做的是[^] *,但这不合法。 你可以尝试类似的东西
 " {10000}" 
这将匹配正好10,000个空格,如果这比你的最大input长,它永远不应该匹配。
 ((?iLmsux)) 
试试这个,只有当string为空时才匹配。
 你想什么都没有匹配? 负面看起来似乎很明显,但可能会很慢,也许^$ (只匹配空string)作为替代? 
 你有没有尝试过这个简单的正则expression式? [^.]* 
呃我知道这有点晚,但是如果正则expression式是空的,你根本就不会读任何input