正则表达式用数字替换十进制和整数字符串

时间:2014-06-25 11:29:44

标签: regex sublimetext

在sublime文本中,我有一些包含数字字符串的数据。有些是小数,有些是整数。我想删除引号,将它们作为数字。是否有一个正则表达式可用于实现此目的。我还需要一个replace表达式。

E.g。

'0'    => 0
'1'    => 1
'1234' => 1234
'1.23' => 1.23

我已经广泛搜索了一个没有运气的解决方案。

2 个答案:

答案 0 :(得分:4)

这样的事情应该有效:'(\d+(\.\d+)?)'。这将捕获数字并将其放在一个组中。然后,您可以将其替换为$1\1。这应该反向引用匹配的组,这是数字本身。

正则表达式可用解释here

答案 1 :(得分:2)

扩展@ npinti的回答;

如果你还需要使用负整数;在 SublimeText

<body> <label class="control-label" for="edit-tid-all"> <input class="bef-select-as-radios form-radio" type="radio" id="edit-tid-all" name="tid" value="All" checked="checked" style="font-weight: bold;"> Select all </label> <label class="control-label" for="edit-tid-all"> <input class="bef-select-as-radios form-radio" type="radio" id="edit-tid-all" name="tid" value="All" checked="checked" style="font-weight: bold;"> <script src="https://code.jquery.com/jquery-3.1.0.js"></script> Selection 1 </label> <label class="control-label" for="edit-tid-all"> <input class="bef-select-as-radios form-radio" type="radio" id="edit-tid-all" name="tid" value="All" checked="checked" style="font-weight: bold;"> Selection 2 </label>查找&amp;取代

查找Ctrl+H

'((\-)?\d+(\.\d+)?)'使用正则表达式查找(搜索)

替换Alt+R

<强>插图...

Illustartion

使用Regex101

测试正则表达式

Integer - Regex Pattern