【发布时间】:2016-07-12 00:56:59
【问题描述】:
我正在尝试在以下 ODATA 过滤器中查找包含查询的匹配项:
名称 eq 'test' 和 contains(Address,'fdgr345') 和 contains(Description,'test')我正在使用正则表达式:
(contains\s*\(([\w]+)\,\'([\s\w\s]+\')\))+.
但是,此正则表达式仅返回第一个匹配项,即
contains(Address,'fdgr345').
如何获取所有出现的 contains(..., '...') 模式?
【问题讨论】:
-
可能使用了好的方法或功能。是PHP吗?是 C# 吗?
-
欢迎您,但您需要更具体地说明您使用的语言。
-
编辑了标签。我正在使用 PCRE
-
这是必须在正则表达式引擎之外完成的事情(除非您想将所有匹配项连接到单个字符串)。例如。如果使用 PHP,请将
preg_match替换为preg_match_all。任何语言或库中的任何 Regex API 都应该以一种或另一种形式具有此功能。 -
PCRE 不仅没有给我们足够的信息,而且您没有提供正在使用的 PCRE 版本,所以我们甚至不知道您有什么特性/功能限制,无论语言如何。我不是想打倒你,只是一些重要的信息! :) 而且我非常喜欢去年的发布...