![](/img/trans.png)
[英]Regex for attribute value having quotes in between same as the enclosing quotes
[英]Extract value from between quotes with regex
我有以下字符串:
feature name="osp"
我需要提取一部分字符串並將其放入新字符串中。 單詞功能可以更改,引號內的單詞可以更改,因此我需要能夠捕獲任何可能的實例。 name =“”部分始終相同。 我需要的結果是:
feature osp
我需要過濾掉name =和引號。
我已使用此^ \\ w * \\ s來獲得第一個功能部件,但無法弄清楚如何使用正則表達式從字符串中提取osp。 我一直在這里看正則表達式:抓住引號之間的值,但無法獲得將兩者結合起來以獲得所需結果的正則表達式。 我正在使用PHP,因此目前使用preg-match。 有人能幫忙嗎?
我會去
(\w+)\s+name\s*=\s*"([^"]*)
它稍微慢一點,但是它允許任意數量的空格,即使使用Alexandru的測試,它也可以正確捕獲第一個單詞。
問候
嘗試這樣的事情:
preg_match('/(.+)name="(.+?)"/', $string, $matches);
echo $matches[1] . $matches[2];
@vuryss的改進版本
preg_match('/(.*?)name="(.*?)"/ims', $string, $matches);
echo $matches[1] . $matches[2];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.