需要帮助关于php preg_match

时间:2018-02-06 18:46:27

标签: php regex preg-match

我有一个字符串:

access":"YOU HAVE 0 BALANCE","machine

如何在双引号之间提取字符串并且只包含文本(不带双引号):

YOU HAVE 0 BALANCE 

我试过了

if(preg_match("'access":"(.*?)","machine'", $tok2, $matches)){

但没有运气:(。

1 个答案:

答案 0 :(得分:0)

您可以使用

'/access":"(.*?)","machine/'

请参阅regex demo。您需要的值在第1组中。

<强>详情

  • access":" - 文字子字符串
  • (.*?) - 第1组:除了换行符之外的任何0 +字符,尽可能少,因为*?是一个惰性量词
  • ","machine - 文字子字符串

请参阅PHP online demo

$re = '/access":"(.*?)","machine/';
$str = 'access":"YOU HAVE 0 BALANCE","machine';
if (preg_match($re, $str, $matches)) {
  print_r($matches[1]);
}
// => YOU HAVE 0 BALANCE