【发布时间】:2015-09-09 08:04:21
【问题描述】:
我需要编写一个正则表达式来解析以下数据:
[1] "Chicken (30.67%);Duck (17.3%);Wild duck (16%);Pigeon (4%);
[2] "Chicken (30.67%);Duck (17.3%);Wild duck (16%);Blue-winged teal (4%)
这就是我所拥有的:
"(\\w[\\w\\s]+)\\(([0-9]+\\.[0-9][0-9]?)%\\);?"
它有效,但我有几个问题:
- 无法识别 10+%(例如 30.67%)
- 当缺少小数点 (16%) 或少 1 个小数点 (17.3%) 时无法识别
谁能帮忙?
【问题讨论】:
-
你的预期输出是什么?
-
试试
(\\w+(?:\\s+\\w+)*)\\s*\\(([0-9]+(\\.[0-9]+)?)%\)。看看the demo。