こんにちは私は5つの「|||||」を交換するのに問題があります 1つの「|」に。
var ss = "123|||||456|||||789|||||";
var ww = ss.replace(/[|||||]\W/g, "|");
私が得る出力は
123|||456|||789|||
私が書くべき正しい正規表現は何ですか?ありがとう。
こんにちは私は5つの「|||||」を交換するのに問題があります 1つの「|」に。
var ss = "123|||||456|||||789|||||";
var ww = ss.replace(/[|||||]\W/g, "|");
私が得る出力は
123|||456|||789|||
私が書くべき正しい正規表現は何ですか?ありがとう。
次のことができます。
var ss = "123|||||456|||||789|||||";
console.log(ss.replace(/[|]{5}/g, "|"));
コメントで述べたように、[]
は文字クラスを定義し、そこで定義されている文字のいずれかに一致します。たとえば[a-z]
、小文字のアルファベットと一致します。
ただし、パイプ()文字と一致させる必要があるだけ|
なので、角かっこを削除して、次のようにエスケープできます。
console.log(ss.replace(/\|{5}/g, "|"));
\
パイプはJavaスクリプトの特殊文字であるため、aでエスケープする必要があります。パイプの後のカーリー表記{5}
は、一致させたい「前の」の数を定義します。