相关疑难解决方法(0)

匹配数字与正则表达式 - 只有数字和逗号

我无法弄清楚如何为示例值构造一个正则表达式:

123,456,789
-12,34
1234
-8
Run Code Online (Sandbox Code Playgroud)

你可以帮帮我吗?

.net regex numbers matching

52
推荐指数
4
解决办法
6万
查看次数

RegEx价格?

我正在寻找价格的RegEx.因此它应该是前面的X数字,而不是",",最后是2个数字.

有人可以支持我并发布吗?

regex

9
推荐指数
3
解决办法
3万
查看次数

使用regexp进行编号分组

是否有可能做数分组(例如,将数字转换1000为字符串"1 000")使用一个通仅正则表达式?(我知道正则表达式和语言设施之间的界限在某些系统中有点模糊 - 在回复之前倾听你的良心.)

我之所以问的原因:另一个开发人员最近问我如何在JavaScript中进行数字分组,并使用regexp向我展示了一个稍微不正确的JavaScript函数.我给了他一个更好的选择,但他的正则表达式唠叨我,因为这种重写肯定是常规语法应该能做的事情,但我真的无法弄清楚如何为它编写正则表达式.

这是我第一次天真的尝试,我知道这是不正确的:

function group(n) { return n.toString().replace(/(\d{3})/g, "$1 "); }
Run Code Online (Sandbox Code Playgroud)

这种方法有两个缺陷; group(1000)收益率"100 0"group(100)收益率"100 "(尾随空间).你可以这样解决它:

String.prototype.reverse = function () { 
    var a = []; 
    for (var i = this.length; i >= 0; --i) a.push(this[i]); 
    return a.join("");
}; 
function group(n) { 
    return n.toString().reverse().replace(/(\d{3})/g, "$1 ").
        trimRight().reverse(); 
}
Run Code Online (Sandbox Code Playgroud)

但这不是一个,不是两个,不是三个,而是四个通道(两个反转,一个替换,和trimRight)!然后我冒险进入后面的土地,并提出:

function group(n) { return n.toString().replace(/(\d{3}(?!\d))/g, " $1");
Run Code Online (Sandbox Code Playgroud)

...根本不起作用(编辑 - 可能是因为我混淆了后视和负面前瞻...... …

regex language-agnostic

3
推荐指数
2
解决办法
1020
查看次数

如何用Regex检查有效小数点?

如何检查号码是否有效以下字符串.

最后2位数可能包含十进制值,也可能不包含.

下面是我已尝试过的代码,preg_match但无法取得任何成功

$newPrice = "2,264.00"; or //  $newPrice = "264.00"; 

 if (!preg_match('/^[+-][0-9]+(\,[0-9]+)?%?$/', $newPrice))
{                
    echo "not valid";
 }else{                    
       echo "valid";
}
exit();
Run Code Online (Sandbox Code Playgroud)

根据允许的格式,以上两个价格都是正确的.

php regex preg-match

2
推荐指数
1
解决办法
3347
查看次数

标签 统计

regex ×4

.net ×1

language-agnostic ×1

matching ×1

numbers ×1

php ×1

preg-match ×1