javascript - 翻转匹配子串

标签 javascript regex string

是否有一种干净的方法来反转与 JavaScript 中特定正则表达式匹配的子字符串?

对于像 /[a-g]+/ 这样的正则表达式和像 "sgsadebfdzgbd" 这样的字符串来获取 "sgsdfbedadbg" 只有哪里子字符串 "adebfd""gbd" 就地反转了。

最佳答案

使用自定义函数进行replace:

your_string.replace(/([a-g]+)/g, function(all, word) {
     return word.split("").reverse().join("");
});

例子:

> "sgsadebfdzgbd".replace(/([a-g]+)/g, function(all, word) {
   return word.split("").reverse().join("");
});
"sgsdfbedazdbg"

您也可以使用这个更短但(在我看来)不太清晰的版本:

your_string.replace(/[a-g]+/g, function(word) {
     return word.split("").reverse().join("");
});

关于javascript - 翻转匹配子串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17630854/

相关文章:

javascript - 使用正则表达式将字符替换为特定字符

python - Python中的递增迭代器(iter)

c# - 用于将双数组转换为逗号分隔字符串的 lambda 表达式

javascript - 如何配置 MathJax 以在 HTML 中呈现化学方程式?

regex - 使用正则表达式在 Notepad++ 中查找和替换

javascript - 或者 Regex 的交替返回比它应该的更多的结果?

Python : Splitting a string by numbers, 字母和 -_

javascript - NPM:在不同版本中多次下载同一个库

javascript - 菜单只有 "clickable"一次

java - AngularJS 和 Servlet 集成