如何使用{\'<1 alpha>}
模式将乳胶字符替换为相应的英文字母?
例如
L {\'o} pez
应该更改为
洛佩兹
它不应影响{\'<1 alpha>}
模式之外的任何其他字符。也应该贪婪,因为可能需要修剪多个字符。
最佳答案
$1
为此:
var new_string = 'L{\\\'o}pez'.replace(/\{\\['"]([A-Z])\}/gi, '$1');
多余的
\
是这样,我们可以逃避\
和'
。解释:
\{ Selects a {
\\ Selects a \
(?: Starts a group that is not "stored"
\' Selects a quote
| OR
\" Selects a double quote
) Ends the group
([A-Z]) Takes one alphabetical character and stores it in a group
\} Selects a } to end the selection
g
:多次选择i
:不区分大小写。 [A-Z]
变为:[A-Za-z]