我想找到包括句点和逗号在内的数字,但Regex不适用于javascript
I want to find numbers-include dot and comma- but Regex not working in javascript
我觉得这很容易找到。但我尝试了多少方法仍然无法正常工作。下面是测试片段。
"100$ and 1.000,000EUR 1,00.0.000USD .90000000000000000000$ (09898)".replace(/['.,'d]*/g, '{n}')
我想要下面这样的结果。
{n}$ and {n}EUR {n}USD {n}$ ({n})
*
是您的问题,请将正则表达式改为/[.,'d]+/g
。
"100$ and 1.000,000EUR 1,00.0.000USD .90000000000000000000$ (09898)".replace(/[.,'d]+/g, '{n}');
输出
{n}$ and {n}EUR {n}USD {n}$ ({n})
JSFiddle示例检查控制台屏幕的输出。
这里的问题是['.,'d]*
可以匹配一个空字符串。第一步是使用[.,'d]+
,以便这些字符中至少有一个匹配。
但更好的正则表达式是'd[.,'d]*
,因为它确保被替换的字符以数字开头,所以不会替换句子中的句点。
如果您想更进一步,还可以使用(?=[.,'d]*'d)[.,'d]+
if来处理以句点开头的数字。这个答案对你的案子来说是恰当的。前瞻性确保替换的文本中至少有一个数字。
请注意,您不需要在字符类中转义.
。
'.?'d[^'s]*'d
试试这个。替换为{n}
。请参阅演示。
http://regex101.com/r/kP8uF5/3
var re = /'.?'d[^'s]*'d/gm;
var str = '100$ and 1.000,000EUR 1,00.0.000USD .90000000000000000000$ (09898)';
var subst = '{n}';
var result = str.replace(re, subst);
相关文章:
- 制作一个regex来验证只有一个数字的字符串
- RegEx JavaScript:数字后的符号提取
- 如何在jquery+javascript中只在输入框中输入数字(使用regex)
- RegEx查找4位数字前后的逗号
- Regex允许数字大于0.5
- JavaScript Regex,用于由特定字符串包围的数字和空格
- Regex表示10位数字,其中没有't允许所有零、所有单个no和序列号
- Javascript Regex,在字符串中查找数字
- Javascript Regex选择每个非字母数字字符和空白
- Javascript-Regex,用于逗号分隔的字母数字
- RegEx接受小于-50.0或大于80.0的数字
- 使用Regex获取括号内的数字
- 在javascript中接受十进制数字的Regex
- REGEX (javascript) - 允许字母数字字符中的特殊字符不在第一个位置
- regex:字符串中的最小数字总数
- Regex用于字母数字字符串中的数字计数
- regex:如何捕获字符串中的三个数字,而不是字符串的其余部分
- JavaScript-Regex删除代码/特殊字符/数字等
- 密码验证与顺序的字母和数字- RegEx
- JavaScript:字母数字REGEX模式