2

str.replace(/\w*(\ || --> 任意の文字または文字列を表すマーカー? <-- || )/g, function() {return "(" + arguments[0] + ") "})

4

2 に答える 2

4

ドット ( .) は任意の (1) 文字に一致します。.+少なくとも長さ 1.*の文字列に一致し、少なくとも長さ 0 の文字列に一致します。

于 2013-02-23T20:14:04.500 に答える
3

ピリオドは、改行以外の任意の文字を表すために使用されますが、任意の文字を表すために、すべての英数字とすべての英数字以外の文字のように、2 つの補完セットを持つセットを使用できます。

str = str.replace(/\w*([\W\w])/g, "($1)");

これは単一の文字に一致します。複数の文字に一致させたい場合は、その数を指定する必要があります。[\W\w]{1,3}たとえば、1 ~ 3 文字に一致します。[\W\w]+文字列の末尾まですべてに一致します。

このような単純な置換にはコールバックは必要ないことに注意してください$1。最初にキャッチされた値に置換される文字列だけです。


編集:
考えてみると、文字は英数字に一致するセットに従っているため、英数字以外である必要があるため、次のように\Wします。

    str = str.replace(/\w*(\W)/g, "($1)");
于 2013-02-23T20:14:17.603 に答える