jquery - 删除一个正则表达式中的 2 个(多个)匹配类

标签 jquery regex matching

我现在完成了,但我必须调用 2 次 .removeClass() 函数

如何合并它以在一次正则表达式调用中找到结果?

HTML:

<div class="one-abc two-cba three-bac"></div>

jQuery:

$('div')
  .removeClass(function(i,c){var m=c.match(/one-[a-z]{0,5}/);return m?m[0]:m;})
  .removeClass(function(i,c){var m=c.match(/two-[a-z]{0,5}/);return m?m[0]:m;});

演示: http://jsbin.com/umoded/1/edit

<小时/>

Find contains class name in multiple classes

Remove matching class with regex

最佳答案

将两个表达式合并为一个,使用 g,然后连接匹配项:

  var m = c.match(/(one-[a-z]{0,5}|two-[a-z]{0,5})/g);
  return m ? m.join(' ') : m;

http://jsfiddle.net/ExplosionPIlls/mnYpB/

关于jquery - 删除一个正则表达式中的 2 个(多个)匹配类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14895409/

相关文章:

java - 使用 split ("|"通过管道符号拆分 Java 字符串)

Python数据帧检查列数据帧中的值是否在另一个数据帧中报告的值的范围内

algorithm - 瓦片的成对匹配

web-services - 如何在 wiremock 中匹配 JSON,它的字段值相同但顺序可能不同

javascript - jquery animate 使用 Promise 调用两次完成

javascript - 当我用调试器停止它时,Jquery 函数起作用,但在其他情况下不起作用

python - 数字的正则表达式,包括小数和斜线

regex - 使用 GREP 和 AWK 从文件中提取子字符串的值

javascript - 如何使用 PhantomJS 和 node.js 进行抓取?

javascript - 带有 Ajax 表单的 jQueryUI 对话框不会用 $(this).dialog ("close"关闭;