我正在尝试查找并替换文本正文中的所有数字.我找到了一些示例正则表达式,几乎解决了问题,但没有一个是完美的.我遇到的问题是我的文本中的数字可能有也可能没有小数和逗号.例如:
"5000磅的狐狸跳过99,999.99998713英尺的围栏."
正则表达式应该返回" 5000"和" 99,999.99998713".示例我发现分解逗号上的数字或限制为两位小数.我开始理解正则表达式足以看出为什么有些例子限于两个小数位,但我还没有学会如何克服它并且还包括逗号以获得整个序列.
这是我的最新版本:
[0-9]+(\.[0-9][0-9]?)?
Run Code Online (Sandbox Code Playgroud)
对于上述文本5000,返回" "," 99,99"," 9.99"和" 998713".
我问,因为我们的搜索是在不断变化的状态,因为我们工作的事情了,但每次我们作出改变指数(改变标记生成器或过滤器,或碎片/副本的数量),我们必须吹走整个索引和将我们所有的Rails模型重新索引回Elasticsearch ...这意味着我们必须考虑停机时间来重新索引所有记录.
是否有一种更聪明的方法可以做到这一点,我不知道?