我遇到匹配问题"坏"线。每个字符串的长度超出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>";
}
答案 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>";
}