【发布时间】:2018-09-19 04:43:08
【问题描述】:
我想知道是否有可能有一个正则表达式来检测
- or 语句的单词组合
-
单词组合,如果它们之间有不同的单词或符号
我有以下正则表达式:
(\$[\s]?([\d\,]+)([\.\d*](\d*))?([\s]?(hundred|thousand|million|billion|trillion))?)|((((one|two|three|four|four|five|five|six|six|seven|seven|eight|eight|nine|ten|eleven|twelve|thirteen|fourteen|fifteen|sixteen|eighteen|nineteen|twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety|hundred|third|quarter|fifth|half|hundred|thousand|million|billion|trillion)[\s]?)+)?([\d\.\,\"a"]+)?([\s]*(dollars|dollar|USD)))
这应该识别所有可能的美元金额“类型”,例如:
$1.5 美元/美元,20,000 美元,$1.5
,以及
五百美元'
你明白了。
我想知道我是否可以让它工作以便能够识别类似的东西
九十五美元
(第二点)(九和五都在名单上,但我也不知道如何数破折号。
还有类似的
10 加元
(第 1 点)
只是 \w 不起作用,因为它会捕获“美元”之前可能不需要的单词,例如
强势美元
我发现regex101 对于查看正则表达式及其效果非常有用,但我无法弄清楚
【问题讨论】:
-
你也要配九十五块吗?
-
@ran_0315 是的,我想匹配它