RegExp 用找到的选项替换 3 个选项之一,但相反
RegExp replace one of 3 options with the option found but in reverse
我想替换给定的文本
如果有 bx 替换为 xb
如果有 ux 替换为 xu
如果有 sx 替换为 xs
有很多选项,在所有选项中我想颠倒找到的顺序。 (x 必须在给定的字符数组之前)
它可以写在一个表达式中吗?
我想在 Adobe Air AS3 中使用它
lookFor = / \u05BC\u05BD | \u05C1\u05BD /
replaceWith = \u05BD ???
(这取决于找到了什么)
txt.replace(寻找,替换);
在 ActionScript/JavaScript 中,String.replace()
function 可以将函数作为您的 replaceWith
参数。
使用捕获组和全局标志,您可以找到每组字符并在传递的函数中反转它们:
lookFor = /(\u05BC\u05BD)|(\u05C1\u05C2)/g;
var reversedString: String = myString.replace(lookFor, function(str){
return str.split('').reverse().join('');
});
注意:我已经编辑了您的 RegExp 以删除字符周围的空格,我不知道它们对您的搜索有多重要。您可能要考虑使用边界 \b(\u05BC\u05BD)\b
匹配而不是空格,但这取决于您要匹配的内容。
我想替换给定的文本 如果有 bx 替换为 xb 如果有 ux 替换为 xu 如果有 sx 替换为 xs 有很多选项,在所有选项中我想颠倒找到的顺序。 (x 必须在给定的字符数组之前) 它可以写在一个表达式中吗? 我想在 Adobe Air AS3 中使用它
lookFor = / \u05BC\u05BD | \u05C1\u05BD /
replaceWith = \u05BD ???
(这取决于找到了什么)
txt.replace(寻找,替换);
在 ActionScript/JavaScript 中,String.replace()
function 可以将函数作为您的 replaceWith
参数。
使用捕获组和全局标志,您可以找到每组字符并在传递的函数中反转它们:
lookFor = /(\u05BC\u05BD)|(\u05C1\u05C2)/g;
var reversedString: String = myString.replace(lookFor, function(str){
return str.split('').reverse().join('');
});
注意:我已经编辑了您的 RegExp 以删除字符周围的空格,我不知道它们对您的搜索有多重要。您可能要考虑使用边界 \b(\u05BC\u05BD)\b
匹配而不是空格,但这取决于您要匹配的内容。