[英]regex - all numbers that are not after “-”, “.”, “/”
我正在使用此正则表达式从字符串中提取所有数字。
([\d,]+(?:\.\d+)?)
我正在尝试对其进行更改,以便在字符“。”之后出现数字。 “-”“ /”将不会返回。
我试过了
[^-.]([\d,]+(?:\.\d+)?)
要么
^[^-.]+$([\d,]+(?:\.\d+)?)
编辑2
例。 我有这段文字:
7
.7
-7
/7
-12 123
12,2
22.22
我希望正则表达式返回组123 12,2和22.22
你可以用
/(?:^|[^-.\/\d])([\d,]+(?:\.\d+)?)/g
第一部分的意思是“字符串的开头或不是.
, /
或-
的字符(在未捕获的组中)。我在该组中添加了\\d
,以避免从不应该从数字的第二位开始捕获被捕获。
演示(以及使用方法):
var results = [], regex = /(?:^|[^-.\\/\\d])([\\d,]+(?:\\.\\d+)?)/g, text = document.querySelector("p").innerHTML, m; while (m=regex.exec(text)) { results.push(m[1]); } document.querySelector("pre").innerHTML=JSON.stringify(results);
<p>123,456 -12 123 some text. 2258 a.666 36,45 a/123 999 22.22</p> <pre></pre>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.