素早い。私は文字列を持っています:#user 9#I'm alive!
そして私は「ユーザー9」を引き抜きたいと思っています。
これまでのところ、私はやっています:
if(variable.match(/\#/g)){
console.log(variable):
}
しかし、出力はまだ完全な行です。
素早い。私は文字列を持っています:#user 9#I'm alive!
そして私は「ユーザー9」を引き抜きたいと思っています。
これまでのところ、私はやっています:
if(variable.match(/\#/g)){
console.log(variable):
}
しかし、出力はまだ完全な行です。
、を使用.split()
して、目的のアイテムを引き出します。
var variable = variable.split("#");
console.log(variable[1]);
.split()
文字列を配列に変換し、最初の変数を区切り文字として使用します。
もちろん、正規表現だけが必要な場合は、次のことができます。
console.log(variable.match(/([^#]+)/g));
これにより、アイテムの配列が再び得られますが、ハッシュの前の空の値をアイテムとして使用しないため、小さいものになります。さらに、@ Stephen Pが述べているように、必要な()
アイテムをキャプチャするには、キャプチャグループ()を使用する必要があります。
これらの線に沿ってもっと何かを試してください...
var thetext="#user 9#I'm alive!";
thetext.match(/\#([^#]+)\#/g);
ポンド記号の間にあるテキストを収集するために、キャプチャグループ(括弧内の部分)を導入する必要があります。
.exec()
何をしているのかによっては、代わりに使用すること.match()
をお勧めします。SOの質問「javascript正規表現で一致したグループにどのようにアクセスしますか?」に対するこの回答も参照してください。