str.replace(/\w*(\ || --> 任意の文字または文字列を表すマーカー? <-- || )/g, function() {return "(" + arguments[0] + ") "})
質問する
12031 次
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 に答える