次の文字列セットがあります
big-div button-green
big-div button-red
big-div button-yellow
そして、私は次の結果を得たいです
green
red
yellow
なんとかここまでたどり着きましたが、次/\sbutton-[^\s]*/gi
のように文字列全体に一致しますbutton-yellow
前もって感謝します!
次の文字列セットがあります
big-div button-green
big-div button-red
big-div button-yellow
そして、私は次の結果を得たいです
green
red
yellow
なんとかここまでたどり着きましたが、次/\sbutton-[^\s]*/gi
のように文字列全体に一致しますbutton-yellow
前もって感謝します!
キャプチャ グループを配置する[^\s]*
と、最初のキャプチャ グループとしてアクセスできます。
あるいは、私はそれを次のように書きます...
var match = (str.match(/\sbutton-(\S*)/gi) || [])[1];
これにより、一致するか、一致しundefined
ない場合があります。
もクラスの場合str
は、境界を交換する(?:^|\s)
か(?:$|\s)
、そうでなければ一致さ\s
せ、一致する文字列をスペースでラップします。
str.match(/\sbutton-([^\s]*)/i)[1]
答えはタイトルにあります: キャプチャ グループを作成するだけです:
/\sbutton([^\s]+)$/i
返された一致配列の最初の要素を取得します。これには、関心のある文字のみが含まれます