[英]How to match a regular expression that contains an arbitrary string, and get only that arbitrary string into a variable using PHP?
我试图用PHP编写一种非常简单的标记语言,其中包含[x = 123]之类的标记,并且我需要能够匹配该标记并仅提取x的值。
我假设答案涉及正则表达式,但也许我错了。
因此,如果我们有一个字符串:
$str = "F9F[x=]]^$^$[x=123]#3j3E]]#J";
和一个正则表达式匹配:
/^\[x=.+\]$/
我们如何只将匹配字符串的“。+”部分放入变量中?
您可以使用preg_match在字符串中搜索正则表达式。
在此处查看文档: http : //www.php.net/manual/en/function.preg-match.php ,以获取有关如何使用它的更多信息(以及一些示例)。 您可能还想看看preg_grep 。
以下代码应为您工作:
$str = "F9F[x=]]^$^$[x=123]#3j3E]]#J";
if (preg_match('~\[x=(?<valX>\d+)\]~', $str, $match))
echo $match['valX'] . "\n";
输出:
123
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.