正規表現は最も強力です。ただし、返される結果は役に立たない場合があります。
例えば:
セミコロンを使用して CSV 文字列を管理したい。次のような文字列を定義します。
var data = "John;Paul;Pete;Stuart;George";
命令を使用する場合:
var tab = data.match(/;/g)
何と、「タブ」には 4 つの「;」の配列が含まれています。:
tab[0]=";", tab[1]=";", tab[2]=";", tab[3]=";"
この配列は、正規表現を使用する前から知っていたので、現在のケースでは役に立ちません。
確かに、私がやりたいことは2つのことです:
- 1つ目:4番目の要素を抑制します(「Stuart」を「Stuart」としてではなく、「Stuart」を4番目の要素として)
2 番目に: 3 番目の要素を「Ringo」に置き換えて、(かつて所属していた場所に!) 次の結果を取得します。
data == "John;Paul;Ringo;George";
この場合、セミコロンの位置を示す配列を取得したいと思います。
tab[0]=4, tab[1]=9, tab[2]=14 tab[3]=21
役に立たない代わりに(この特定のケースでは)
tab[0]=";", tab[1]=";", tab[2]=";", tab[3]=";"
それで、ここに私の質問があります:正規表現を使用してこの数値配列を取得する方法はありますか?