https://regex101.com/< - 适用于那些想要测试正则表达式的人。
我正在研究印尼价格分析器。
说,我有以下例子:
1)150 k
2)150千字节
3)150 ka
4)150 k2
5)150 k)
6)150 k。
我们知道1),5),6)可以是价格,而显然不可能
我的正则表达式实际上有点复杂,但为简单起见,
让我们说我的正则表达式是:[0-9] +(\ s * [k])
这包括1)到6),所有这些。(
所以我把[^ 0-9a-zA-Z]放到正则表达式:[0-9] +(\ s * [k])[^ 0-9a-zA-Z]
现在我只有1),5),6),这很好。
但是,问题是......他们有不必要的后缀,如[),] >
我怎样才能解析150 k'没有任何后缀如[),]与价格信息无关?
我应该在获得5之后再增加一个流程,6)手动去除那些足够的东西吗?
提前感谢您的任何想法。
答案 0 :(得分:2)
答案 1 :(得分:2)
我认为printf("%*.*f\n", (int)a, (int)b, floatVariable);
符合您的目的。它会检查'k'后是否达到了单词边界。这个单词边界可以是任何东西,是的,甚至是(\d+\s*k)\b
。看看这个example