【发布时间】:2015-10-20 01:20:20
【问题描述】:
我必须将 Java 字符串解析为 3 个不同的案例:
- 如果它具有
"PREFIX(<signed_float>)=<Some_alpha_num_string>"的形式,我需要将<signed_float>提取到一个(Double) 变量中,将<Some_alpha_num_string>提取到另一个(String) 变量中并忽略其余变量。 - 否则,如果它具有
"PREFIX=<Some_alpha_num_string>"的形式,我保存<Some_alpha_num_string>并将Double设置为某个默认值(例如0.0) - 否则我什么都不做
所以我猜#1 和#2 的正则表达式应该是PREFIX[\(]?[-]?[0-9]*\.?[0-9]*[\)]?=\S*,但是我该如何使用它来提取这两部分呢?
顺便说一句,我不需要担心用科学 ("%e") 表示法表示的浮点数
更新:澄清一下:PREFIX 是一个固定字符串。所以有效字符串的例子是:
-
PREFIX=fOo1234bar-- 这里我需要提取fOo1234bar -
PREFIX(-1.23456)=SomeString——这里我需要提取-1.23456和SomeString -
PREFIX(0.20)=1A2b3C-- 这里我需要提取0.20和1A2b3C
【问题讨论】:
-
"如何使用它来提取这两个部分?" 捕获组。
标签: java regex string parsing floating-point