这种模式的正则表达式是什么?

莱昂纳多·雷尔

在某些情况下,我的Java程序收到一个包含几个键值属性的字符串,例如以下示例:

param1=value Param2=values can have spaces PARAM3=values cant have equal characters

参数的名称/键由一个单词(az,AZ,_和0-9)组成,后跟一个=字符(不由空格分隔)及其值。该值是一个文本,可以包含空格,并且持续到字符串的结尾或另一个参数的开头。(这是一个单词,后跟等于及其值,等等)

我需要Properties从此字符串中提取一个对象(字符串到字符串映射)。我试图使用正则表达式来查找每个键值集。代码是这样的:

public static String createProperties(String str) {
    Properties prop = new Properties();
    Matcher matcher = Pattern.compile(some regex).match(str);

    while (matcher.find()) {
        String match = matcher.group();
        String param = ...; // What comes before '='
        String value = ...; // What comes after '='
        prop.setProperty(param, value);
    }

    return prop;
}

但是正则表达式写的不能正常工作。

String regex = "(\\w+=.*)+";

由于.*告诉正则表达式获取找到的“任何内容”,因此它将匹配整个字符串。我想告诉正则表达式搜索,直到找到另一个\\w=.*(单词后跟等号,后跟)

我该怎么写这个正则表达式?或使用正则表达式解决该问题的另一种解决方案是什么?

wn

您可以在此处使用否定前瞻

(\\w+)=((?:(?!\\s*\\w+=).)*)

键位于捕获组中#1,值位于捕获组中#2请注意,我\s在环顾四周内使用了该选项,以防止该值具有尾随空格。

现场演示

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

这种情况的正则表达式是什么?

来自分类Dev

正则表达式是什么?

来自分类Dev

正则表达式找到这种模式?

来自分类Dev

建议这种模式的正则表达式

来自分类Dev

正则表达式找到这种模式?

来自分类Dev

正则表达式以匹配这种重复模式?

来自分类Dev

这种正则表达式模式有什么问题?

来自分类Dev

在这种情况下,密码的正则表达式应该是什么?

来自分类Dev

正则表达式和嵌套模式:最终的答案是什么?

来自分类Dev

正则表达式模式前的“ r”是什么意思?

来自分类Dev

查找以撇号或双斜杠开头的代码注释的正则表达式模式是什么?

来自分类Dev

正则表达式中的任何字符(包括换行符)模式是什么?

来自分类Dev

在这些行中查找特定模式的正确正则表达式是什么?

来自分类Dev

git分支的有效Java正则表达式模式是什么?

来自分类Dev

实现我的简单语法的正则表达式模式是什么?

来自分类Dev

查找以撇号或双斜杠开头的代码注释的正则表达式模式是什么?

来自分类Dev

“ [^]”正则表达式模式是什么意思(javascript regex)?

来自分类Dev

在特定模式之前删除任何字符串的正则表达式是什么?

来自分类Dev

空行的正则表达式是什么?

来自分类Dev

此正则表达式中\\ +的含义是什么?

来自分类Dev

PHP [\ w \-]正则表达式的含义是什么

来自分类Dev

[^。] *在正则表达式中是什么意思?

来自分类Dev

WPA-bssid的正则表达式是什么

来自分类Dev

Ruby正则表达式中的“?-mix”是什么

来自分类Dev

rm *的posix正则表达式是什么?

来自分类Dev

正则表达式(\-?2 | 3)的含义是什么

来自分类Dev

首字符是字母的正则表达式是什么?

来自分类Dev

正则表达式^^^是什么意思?

来自分类Dev

正则表达式中%s +%的含义是什么?

Related 相关文章

  1. 1

    这种情况的正则表达式是什么?

  2. 2

    正则表达式是什么?

  3. 3

    正则表达式找到这种模式?

  4. 4

    建议这种模式的正则表达式

  5. 5

    正则表达式找到这种模式?

  6. 6

    正则表达式以匹配这种重复模式?

  7. 7

    这种正则表达式模式有什么问题?

  8. 8

    在这种情况下,密码的正则表达式应该是什么?

  9. 9

    正则表达式和嵌套模式:最终的答案是什么?

  10. 10

    正则表达式模式前的“ r”是什么意思?

  11. 11

    查找以撇号或双斜杠开头的代码注释的正则表达式模式是什么?

  12. 12

    正则表达式中的任何字符(包括换行符)模式是什么?

  13. 13

    在这些行中查找特定模式的正确正则表达式是什么?

  14. 14

    git分支的有效Java正则表达式模式是什么?

  15. 15

    实现我的简单语法的正则表达式模式是什么?

  16. 16

    查找以撇号或双斜杠开头的代码注释的正则表达式模式是什么?

  17. 17

    “ [^]”正则表达式模式是什么意思(javascript regex)?

  18. 18

    在特定模式之前删除任何字符串的正则表达式是什么?

  19. 19

    空行的正则表达式是什么?

  20. 20

    此正则表达式中\\ +的含义是什么?

  21. 21

    PHP [\ w \-]正则表达式的含义是什么

  22. 22

    [^。] *在正则表达式中是什么意思?

  23. 23

    WPA-bssid的正则表达式是什么

  24. 24

    Ruby正则表达式中的“?-mix”是什么

  25. 25

    rm *的posix正则表达式是什么?

  26. 26

    正则表达式(\-?2 | 3)的含义是什么

  27. 27

    首字符是字母的正则表达式是什么?

  28. 28

    正则表达式^^^是什么意思?

  29. 29

    正则表达式中%s +%的含义是什么?

热门标签

归档