Я пытаюсь использовать preg_match_all для проверки синтаксических ошибок с запятой, где «привет, там» хорошо, но не «привет, там».php regex найти строку, которая не имеет определенной длины
Сначала я понимаю, что пространство, двойные кавычки, и разрыв строк все приемлемы после запятой, поэтому я считаю, что я могу сделать preg_match_all("/(,[^ \r\n\"])/", $mystring, $result);
и все, что возвращение означает, что есть ошибка синтаксиса.
Тогда я понимаю, что запятые также отображаются в цифрах, например. 1,234,567, поэтому мне нужно разрешить 3-значные числа в моем регулярном выражении. Если я просто искал 3-значное число, я знаю, что могу сделать preg_match_all("/(\d{3})/", $mystring, $result);
Но в данном случае я хочу, чтобы исключить 3-значных чисел, то есть. регулярное выражение должно указывать «соответствовать всем, у кого есть запятая, за которой следует что-то НЕ пробел, НЕ разрыв строки, а НЕ 3-значный номер». Часть «и НЕ 3-значное число» отбросила меня; Я думал, что могу просто сделать preg_match_all("/(,[^ \r\n\"\d{3}])/", $mystring, $result);
, но это, похоже, не так. Что я сделал здесь неправильно? И есть ли более простой способ выполнить этот поиск?