[英]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.