如何使用{\'<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]

09-25 19:22