正则表达式提取任何单词not(single | double)引用分隔

时间:2016-02-26 17:29:24

标签: php regex string word

我有一个描述[变量操作符值]结构的字符串,如下所示:

type == 'prova' && padposition == "stefano" or 10>var_name

我需要构建一个正则表达式来提取变量名称列表:

type
padposition
var_name

对它们应用后处理(基本上将它们转换为PHP数组的键):

$arr_name['type']
$arr_name['padposition']
$arr_name['var_name']

我找到了匹配由单引号或双引号分隔的字符串的方法:

('|")(\w*\w)('|")

但我不能(我太无知!)否定它或只是提取任何单词或双引号分隔的单词。

1 个答案:

答案 0 :(得分:3)

一种方法(高度可读且易于维护):

Iterator it = map.entrySet().iterator();
while (it.hasNext()) {
    Map.Entry pair = (Map.Entry)it.next();
    System.out.println(pair.getKey() + " = " + pair.getValue());
    it.remove(); 
}

https://logstash.jira.com/browse/LOGSTASH-1047