对于偏移量为7的字符类,RegExp错误:缺少终止]

时间:2012-03-26 21:19:55

标签: php

我得到了stderr:

PHP Warning:  preg_match(): Compilation failed: missing terminating ] 
for character class at offset 7 in an php file.

我的$regex = '/[' . implode('', $alphabet) . ']{3,}$/S';

其中$alphabet是一个数组,每个位置包含一些随机字母([0] -> R[1] -> A等等)

它会在以下内容中引发错误:if(preg_match($regex, $value))$value是一个单词。

任何想法都错了吗?

此致 埃斯

1 个答案:

答案 0 :(得分:3)

在你的字母表周围添加preg_quote()调用...可能你在那里添加了一些不安全的字符,导致字符类被破坏

$regex = '/[' . preg_quote(implode('', $alphabet)) . ']{3,}$/S';