有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java正则表达式来解析命令字符串

String解析为java.util.Map的正则表达式是什么,其中字符串的定义格式如下:

message_type={any_text}&message_number={digits}&code={digits}&id={digits}&message={any_text}&timestamp={digits_with_decimal}

目标是生成带有消息类型、消息编号、代码、id、消息和时间戳键的映射

这是正则表达式可以解析的吗?或者这需要一个语法分析器

更新:

这与URI解析问题不同。此处的消息是一个正文字符串,因此可能包含“&;”在消息部分。使用与“&;相同的拆分”可能会导致错误的分割

而且,{ }正是需要用正则表达式替换的理想函数


共 (1) 个答案

  1. # 1 楼答案

    我认为关键是使用惰性评估,下面应该做到这一点:

    ([a-zA-Z].*?={.*?})
    

    从一个字母(小写或大写)开始,直到第一次出现“=”为止,然后获取包含大括号的值,然后重复

    演示: https://regex101.com/r/iE0hU3/1