gpt4 book ai didi

regex - 我如何在没有某些足够的情况下进行正则表达式?

转载 作者:IT王子 更新时间:2023-10-29 01:54:20 26 4
gpt4 key购买 nike

https://regex101.com/ <- 对于那些想要测试正则表达式的人。

我正在研究印尼价格解析器。

说吧,我有以下例子:

1) 150k
2) 150 KB
3) 150 卡
4) 150 千平方
5) 150 千)
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' 而没有任何与价格信息无关的后缀,例如 [ ) , ]?

我是否应该在 get 5), 6) 之后再有一个进程手动删除这些就足够了?

提前感谢您的任何想法。

最佳答案

您可以使用 word boundary - \b。您也可以在开头使用一个,而不是空格:

\b[0-9]+\s*k\b

工作示例:https://regex101.com/r/RAF2Vg/3

关于regex - 我如何在没有某些足够的情况下进行正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46109092/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com