在已知字符串之后获取子字符串,直到第一个可选逗号为止

时间:2018-11-16 12:25:45

标签: php regex string preg-match

请帮助我建立正则表达式(php)

$a = "Вид=Готовый, Литраж=4, Цвет=красный, ";
preg_match('/^.*Вид=(.+),?.*$/', $a, $match);

我看到了手册,不起作用。

我需要从字符串中获取“Готовый”,逗号可能不是 谢谢。

1 个答案:

答案 0 :(得分:2)

您可以使用

$a = "Вид=Готовый, Литраж=4, Цвет=красный, ";
if (preg_match('/Вид=\K[^,]+/u', $a, $match)) {
  echo $match[0]; // => Готовый
}

请参见online PHP demo

模式详细信息

  • Вид=-文字字符串
  • \K-匹配重置运算符,用于将匹配的文本从匹配缓冲区中丢弃掉
  • [^,]+-除逗号以外的1个或多个字符