java - java中使用正则表达式解析字符串

标签 java regex

我正在尝试使用正则表达式解析字符串。我有一个内容 text:text,我想从包含 text:text 的字符串中解析内容。 代码:

String lines=" from:cal_date_d type:string relationship:many_to_one sql_on:${fact_customer.dw_update_date} = ${cal_date_d.dw_update_date}";
Pattern p = Pattern.compile("(\"?[\\w ]*)\\:(\"?([\\w]*)\"?)");
                Matcher m = p.matcher(lines);
                while(m.find()) {
                    String Column_Data=m.group(0);
                    System.out.println("Regex:           "+Column_Data);
                }

输出:

   from:cal_date_d
type:string
relationship:many_to_one
sql_on:

预期输出:

from:cal_date_d 
type:string 
relationship:many_to_one 
sql_on:${fact_customer.dw_update_date} = ${cal_date_d.dw_update_date}

最佳答案

尝试这个模式

([^\s]+( ?= ?[^\s]*)?)

https://regex101.com/r/c0q4W0/2

关于java - java中使用正则表达式解析字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41499776/

相关文章:

c# - 字符串后的正则表达式行

java - 通过 OSHI API 从传感器检索信息时为什么会发生这种情况?

java - bigdata hadoop java codefor wordcount已修改

java - 从 Mac 中删除 Java 8 JDK

java - 为什么我的代码不从命令行获取输入?

php - 如何从 php 文件中读取所有数值?

python - 将字符串中的 xyz 坐标值提取到列表中

javascript - 正则表达式 : Matching everything except regex values in Javascript

regex - 分组是否在 Perl 正则表达式字符类中工作?

java - 创建java项目的exe后如何访问属性文件?