簡體   English   中英

使用正則表達式從引號之間提取值

[英]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的測試它也可以正確捕獲第一個單詞。

在regex101上查看它的工作原理

問候

嘗試這樣的事情:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM