Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何创建字符串匹配模式以及如何从字符串中获取其他参数_Php_Regex_String_Preg Match - Fatal编程技术网

Php 如何创建字符串匹配模式以及如何从字符串中获取其他参数

Php 如何创建字符串匹配模式以及如何从字符串中获取其他参数,php,regex,string,preg-match,Php,Regex,String,Preg Match,我不知道如何创建正则表达式。我想从字符串中获取子字符串。在我的例子中,字符串是[\u formatdate\u form\u date“D,dmy”]。我想要字段名form\u date和双引号之间的字符串,即D,dmy。我搜索了像preg_match这样的PHP函数,但都需要一个模式。因此,如何为此创建模式,您可以执行以下操作: $str = '[_formatdate_form_date "D, d M y"]'; $regex = "/_formatdate_(.*)\s\"(.*)\"/

我不知道如何创建正则表达式。我想从字符串中获取子字符串。在我的例子中,字符串是
[\u formatdate\u form\u date“D,dmy”]
。我想要字段名
form\u date
和双引号之间的字符串,即
D,dmy
。我搜索了像preg_match这样的PHP函数,但都需要一个模式。因此,如何为此创建模式,您可以执行以下操作:

$str = '[_formatdate_form_date "D, d M y"]';
$regex = "/_formatdate_(.*)\s\"(.*)\"/";

preg_match_all($regex, $str, $matches);
var_dump($matches);
结果
$匹配

因此,要访问,您必须执行以下操作:
$matches[1][0]
$matches[2][0]


但为了理解正则表达式的作用,我建议您至少了解一下正则表达式:

对不起,这里不是要求私人教程的地方。我建议您阅读许多关于正则表达式的“入门”教程之一。此外,在线regex实用程序对玩游戏也有很大帮助。还有很多关于这个话题的好书。。。