PageUp
@PageUp
Default

Регулярные выражения. Как посчитать количество значений разделенных символом?

Здравствуйте. В регулярных выражениях вообще не силен. Не понимаю их и путаюсь в этих шаблонах. Читал мануалы, и теперь путаюсь еще больше.

В общем нужно как то посчитать кол-во значений которые разделены в ячейке знаком запятой.

Собственно я написал так, но не знаю как определить и куда вписать запятую, что бы она не учитывалась а считалась разделителем. А переменная $xR заданная в конечном итоге приобрела значение равное количеству вхождений, разделенных запятой.

$xR = preg_match_all("/(\w+)\/",$data_point[2],$regD);


Ячейки в которых производится поиск выглядят примерно таким образом: ma,le,do,

То есть в данном случае $xR должна стать 3.

Если бы было: ma,le,

$xR должна стать 2.
  • Вопрос задан
  • 197 просмотров
Решения вопроса 3
@KraydenSharp
Senior RegExp Developer
Есть такой способ.
$xR = preg_match_all("/[^,]+/",$data_point[2],$regD);

В этом случае не будут учитываться пустые значения.
Ответ написан
glaphire
@glaphire Куратор тега PHP
PHP developer
живой пример.
Для разбития по разделителю достаточно функции explode, чтобы отфильтровать пустые элементы, которые возникают из-за последней запятой в строке, нужно пользоваться array_filter без колбека.
Ответ написан
Комментировать
Austin_Powers
@Austin_Powers
Web developer (Symfony, Go, Vue.js)
Обязательное требование, использовать регулярку?
Если нет, то можно так count(explode(',', $string));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы