【问题标题】:Retrieving tens of thousands from a number with regex [closed]使用正则表达式从数字中检索数万 [关闭]
【发布时间】:2012-11-16 01:06:48
【问题描述】:

知道如何制作一个从数字中检索数万的正则表达式吗?

我的意思是所有正整数都应该返回整数除以 10000 并向下取整。 0 就是 0,999 也就是 0,12345678 就是 1234,以此类推。

我在想一系列的条件,比如

“如果数字有 1 到 4 位,则返回 0,否则如果数字有 5 位,则返回第 1 个,否则,如果数字有 6,则返回第一个 2,依此类推”。

我的数字在 1 到 9.99 亿之间。

这是为htaccess 中的RewriteRule

【问题讨论】:

  • 我知道。我在考虑一系列条件,例如“如果数字在 1 到 4 位之间返回 0,否则如果数字有 5 位,则返回第一个,如果数字有 6,则返回第一个 2,依此类推”。我的数字在 1 到 9.99 亿之间。
  • 您使用哪种语言..您还需要将信息包含在您刚刚在评论中提供的问题中!
  • 刚刚做了,谢谢。抱歉,新来的。

标签: regex .htaccess


【解决方案1】:

这是一个非常简单的答案,我不确定为什么您的问题被标记了。我只能为你用 VB 或 C# 编写它,但你也许能明白这一点。

Dim rmTens As String = Regex.Replace(Regex.Match(input, "([\d,. ]*)(?:\d[,. ]*){4}(?:$|[^\d,. ])").Groups(1).Value, "[,. ]", "")
If rmTens = "" Then rmTens = "0"

这是一个快速的方法,但它会捕获所有数字、逗号、小数和空格(所有有效的数字字符),直到匹配三个数字(允许格式错误的混乱),而不是任何其他数字允许值。

【讨论】:

    猜你喜欢
    • 2020-08-04
    • 2010-10-16
    • 1970-01-01
    • 2018-03-02
    • 2022-01-21
    • 2020-04-22
    • 1970-01-01
    • 1970-01-01
    • 2013-07-31
    相关资源
    最近更新 更多