我希望正则表达式只能得到数字

I want regular expression to get only numbers

本文关键字:数字 正则表达式 我希望      更新时间:2023-09-26

我想要一个正则表达式只从字符串中获取数字。我想忽略前面带字符的数字。示例:"(a/(b1/8))*100。这里我不想取回b1。我只想得到8,100等数字

可以使用字边界,但是下划线之后不匹配:

'b'd+

(?<![a-zA-Z])'d+应该工作

您可以使用正则表达式来查找带和不带前导字符的数字,并且只保留不带的数字:

var str = "(a/(b1/8))*100";
var nums = [], s;
var re = /([a-z]?)('d+)/g;
while (s = re.exec(str)) {
  if (!s[1].length) nums.push(s[2]);
}
alert(nums);
输出:

8, 100

演示:http://jsfiddle.net/Guffa/23BnQ/

for only number

 ^('d ? 'd* : ('-?'d+))'d*('.?'d+:'d*) $

可以接受任何数值,包括-1.4,1.3,100,-100

我检查了它在asp . net

中的自定义数字验证属性