在javascript中查找字符串之前或之后没有任何字母的数字
Find numbers in a string not preceded or followed by any letters in javascript
我不太熟悉正则表达式。我想弄清楚如何找到一个数字在字符串之前或之后没有一个字母与javascript
s= "sc010sc"
//shouldnt return
s = "x0001"
//shouldnt return
s = "thing_0001_5642"
//return [0001, 5642]
s = "05012"
//return 05012
可以使用
var rx = /(?:^|[^a-z0-9])('d+)(?![0-9a-z])/ig;
var s = "thing_0001_5642";// with "sc010sc" it does not return any result
var res = [];
while((m=rx.exec(s)) !== null) {
res.push(m[1]);
}
console.log(res);
<模式细节/strong>:
-
(?:^|[^a-z0-9])
-字符串开头或非数字和非字母 -
('d+)
-组1捕获1个或多个数字 -
(?![0-9a-z])
-后面没有数字或字母。
由于使用了/i
修饰符,所以所有ASCII字母都与[a-z]
匹配。
由于我们需要访问捕获的值,因此我在循环中使用RegExp#exec
仅获取match[1]
值。
相关文章:
- 我如何在数字插入中使用逗号,这样它就不会'不要破坏我的输入字段
- 输入字段,只接受0到12之间的数字
- 如何限制一个字段只接受4个数字字符作为输入,并获得'It’这是潜水警报
- 当所有输入文本字段都为空时,禁止表单提交,但当jquery中的任何字段不为空时允许提交
- angularjs在数字(html5)字段中将0转换为1
- 简单的Javascript方式,在输入字段的每5位数字后添加一个空格
- jQuery-用于检查是否有任何字段不为空,然后将所有字段设为必需字段的代码
- 如何用密码保护表单中的任何字段(需要建议)
- 如果任何字段留空,如何在表单中生成错误消息
- 避免发送任何字段为空的Axax
- 当任何字段发生更改时,如何发送新值和旧值
- 正则表达式,用于替换任何字符(数字/、.除外)
- 当多个字段中的任何字段发生更改时触发javascript函数(onchange)
- 如何替换$值而不替换任何其他数字
- 如何查看任何字段的值是否已更改,警告用户未保存的更改
- 以百万表示任何给定数字的
- 如何修改现有的电子邮件CSV脚本以跳过空白行或在任何字段中具有单个零的行
- 我只想在没有任何验证的情况下给出字段中的数字
- 如何以角度形式将地址或任何字段复制到另一个字段
- 如果页面的任何字段被更改,请选择发送请求的端点