使用正则表达式

时间:2016-04-28 08:30:48

标签: php regex

我有以下字符串:

feature name="osp"

我需要提取部分字符串并将它们放入一个新字符串中。单词功能可以更改,引号内的单词可以更改,因此我需要能够捕获任何可能的实例。名称=" "部分总是一样的。我需要的结果是:

feature osp

我需要过滤掉字符串中的name =和引号。

我已经使用这个^ \ w * \ s来获取第一个特征部分但是无法弄清楚如何使用正则表达式从字符串中提取osp。我一直在寻找RegEx: Grabbing values between quotation marks,但无法获得一个结合两者的正则表达式以获得我需要的结果。我在PHP工作,所以现在使用preg-match。有人能帮忙吗?

3 个答案:

答案 0 :(得分:3)

我和

一起去
(\w+)\s+name\s*=\s*"([^"]*)

它有点慢,但它允许任意数量的空格它正确捕获第一个单词,即使使用Alexandru的测试。

See it work here at regex101

此致

答案 1 :(得分:1)

尝试类似的东西:

preg_match('/(.+)name="(.+?)"/', $string, $matches);

echo $matches[1] . $matches[2];

答案 2 :(得分:0)

@vuryss的改进版

preg_match('/(.*?)name="(.*?)"/ims', $string, $matches);    
echo $matches[1] . $matches[2];