在PHP中的RegEx匹配不允许的字符

时间:2015-03-27 14:22:26

标签: php regex preg-match

我遇到匹配问题"坏"线。每个字符串的长度超出6-8个字符范围,并且包含除数字以外的任何字符或":"应该匹配。见下面的例子。

这些字符串应标记为:

001000
000000
236849
576852
09:34:24
23:59:59
00:00:00

我只希望标记这三个:

123456789
67855jkl
5678lk

代码:

if (preg_match('/^(?![0-9]{2}:[0-9]{2}:[0-9]{2}).*$|(?![0-9]{0,8})$/', $user->start)) {
    echo "<font color='$ce'>Fehler </font></br>";
} else {
    echo "<font color='$cn'>Kein Fehler </font></br>";
}

1 个答案:

答案 0 :(得分:0)

这是您自己的代码,其中包含已更新的^(?:.{1-6}|.{9,}|(?=.*[a-z]).*)$正则表达式(tested here):

if (preg_match('/^(?:.{1-6}|.{9,}|(?=.*[a-z]).*)$/m', $user->start)) 
{
   echo "<font color='$ce'>Fehler </font></br>";
}
else
{
  echo "<font color='$cn'>Kein Fehler </font></br>";
}
相关问题