正则表达式仅返回第一个匹配项

丹尼斯

我有这个字符串:

1 = 0 AND 2 = 3

并正在使用此正则表达式:

\s*(?<SearchCondition>.+?)\s*(AND|OR|$)

我想返回以下内容,如(http://regexhero.net/tester/)所示,但由于某些原因,它不是这样:

1: AND
SearchCondition: 1 = 0
1: 
SearchCondition: 2 = 3

这是我的代码:

  Dim whereElem As String = "1 = 0 AND 2 = 3"
  Dim regex As New Regex("\s*(?<SearchCondition>.+?)\s*(AND|OR|$)", RegexOptions.IgnoreCase)
  m = regex.Match(whereElem)

  If m.Success Then
       Console.WriteLine(m.Groups("SearchCondition").Captures.Count)

期望的输出:2

我在这里做错了,但是看不到。有什么提示我要去哪里吗?

格罗

您正则表达式仅匹配单个表达,接着是ANDOR或字符串的末尾:

\s*                      # whitespace
(?<SearchCondition>.+?)  # match and capture before the whitespace
\s*                      # more whitespace 
(AND|OR|$)               # either AND, OR, or end of line

由于您的输入是1 = 0 AND 2 = 3,呼叫Regex.Match将在第一个之后停止AND

您可能想使用Regex.Matches查找所有匹配项:

var matches = regex.Matches(whereElem);
foreach (Match m in matches)
    Console.WriteLine(m.Groups["SearchCondition"]);

希望您不介意C#的答案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

仅匹配正则表达式行中的第一个匹配项

来自分类Dev

C#中的正则表达式仅返回第一个匹配项

来自分类Dev

C#中的正则表达式仅返回第一个匹配项

来自分类Dev

正则表达式PHP仅获得第一个匹配项

来自分类Dev

Javascript正则表达式仅替换第一个匹配项

来自分类Dev

正则表达式仅捕获第一个匹配项

来自分类Dev

如何使此正则表达式仅找到第一个匹配项

来自分类Dev

pcregrep如何强制返回正则表达式的第一个匹配项

来自分类Dev

Bash grep不返回第一个正则表达式匹配项

来自分类Dev

python正则表达式,只返回第一个匹配项

来自分类Dev

正则表达式匹配器仅返回第一个结果

来自分类Dev

正则表达式仅替换每个匹配项的第一个匹配项

来自分类Dev

正则表达式-返回引用以匹配完全匹配的第一个匹配项

来自分类Dev

扫描仪中的正则表达式仅找到第一个匹配项

来自分类Dev

如何仅获得正则表达式Grok过滤器的第一个匹配项

来自分类Dev

是否可以保证正则表达式搜索返回第一个匹配项?

来自分类Dev

是否可以保证正则表达式搜索返回第一个匹配项?

来自分类Dev

正则表达式(替换)只有第一个匹配项

来自分类Dev

C ++正则表达式替换第一个匹配项

来自分类Dev

正则表达式:跳过组中角色的第一个匹配项?

来自分类Dev

正则表达式 - 从 Javascript 代码中选择第一个匹配项

来自分类Dev

python正则表达式仅匹配第一个实例

来自分类Dev

正则表达式:仅匹配值的第一个实例

来自分类Dev

正则表达式:仅匹配值的第一个实例

来自分类Dev

正则表达式仅扫描返回第一个值

来自分类Dev

取得一个正则表达式文件,然后在另一个文件中返回每个文件的第一个匹配项

来自分类Dev

仅解析具有多个匹配项的行中的第一个正则表达式匹配项

来自分类Dev

正则表达式LookAhead限制为一个(或第一个匹配项)

来自分类Dev

正则表达式(在第一个匹配项之后(无第一个匹配项))

Related 相关文章

  1. 1

    仅匹配正则表达式行中的第一个匹配项

  2. 2

    C#中的正则表达式仅返回第一个匹配项

  3. 3

    C#中的正则表达式仅返回第一个匹配项

  4. 4

    正则表达式PHP仅获得第一个匹配项

  5. 5

    Javascript正则表达式仅替换第一个匹配项

  6. 6

    正则表达式仅捕获第一个匹配项

  7. 7

    如何使此正则表达式仅找到第一个匹配项

  8. 8

    pcregrep如何强制返回正则表达式的第一个匹配项

  9. 9

    Bash grep不返回第一个正则表达式匹配项

  10. 10

    python正则表达式,只返回第一个匹配项

  11. 11

    正则表达式匹配器仅返回第一个结果

  12. 12

    正则表达式仅替换每个匹配项的第一个匹配项

  13. 13

    正则表达式-返回引用以匹配完全匹配的第一个匹配项

  14. 14

    扫描仪中的正则表达式仅找到第一个匹配项

  15. 15

    如何仅获得正则表达式Grok过滤器的第一个匹配项

  16. 16

    是否可以保证正则表达式搜索返回第一个匹配项?

  17. 17

    是否可以保证正则表达式搜索返回第一个匹配项?

  18. 18

    正则表达式(替换)只有第一个匹配项

  19. 19

    C ++正则表达式替换第一个匹配项

  20. 20

    正则表达式:跳过组中角色的第一个匹配项?

  21. 21

    正则表达式 - 从 Javascript 代码中选择第一个匹配项

  22. 22

    python正则表达式仅匹配第一个实例

  23. 23

    正则表达式:仅匹配值的第一个实例

  24. 24

    正则表达式:仅匹配值的第一个实例

  25. 25

    正则表达式仅扫描返回第一个值

  26. 26

    取得一个正则表达式文件,然后在另一个文件中返回每个文件的第一个匹配项

  27. 27

    仅解析具有多个匹配项的行中的第一个正则表达式匹配项

  28. 28

    正则表达式LookAhead限制为一个(或第一个匹配项)

  29. 29

    正则表达式(在第一个匹配项之后(无第一个匹配项))

热门标签

归档