javascript - 使用正则表达式显示字母以外的字符

标签 javascript regex

我尝试显示特定字符​​串中字母以外的字符,但它只显示第一个字符。

var myArray = /[^a-zA-Z]+/g.exec("cdAbb#2547dbsbz78678");

最佳答案

它只显示第一个字符的原因是因为使用 execg 修饰符(全局),此方法应该在循环中使用获取所有子匹配。

var str = "cdAbb#2547dbsbz78678";
var re  = /[^a-zA-Z]+/g;
var myArray;

while (myArray = re.exec(str)) {
  console.log(myArray[0]);
}

输出

#2547
78678

如果您想组合匹配,您可以使用以下内容。

var str = "cdAbb#2547dbsbz78678",
    res = str.match(/[\W\d]+/g).join('');

# => "#254778678"

或者进行替换

str = str.replace(/[a-z]+/gi, '');

关于javascript - 使用正则表达式显示字母以外的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23254519/

相关文章:

javascript - 执行变量

c# - 正则表达式获取我的文件的父目录在字符串文件路径中

Javascript 正则表达式匹配进入无限循环

java - 是否可以使用 java 正则表达式搜索 PDF 或 Word 文档中的文本?

javascript - JavaScript 中的 loadStrings() 错误

javascript - React JS 自定义图表

正则表达式匹配逗号后跟空格?

regex - 为 Verizon 中的 Azure CDN 创建重定向规则,将/index.html 添加到 URL 末尾

javascript - jQuery 内部函数不起作用

javascript - 将数据导入 mongodb 时如何修复 JavaScript 堆内存不足错误?