0

素早い。私は文字列を持っています:#user 9#I'm alive!そして私は「ユーザー9」を引き抜きたいと思っています。

これまでのところ、私はやっています:

    if(variable.match(/\#/g)){
            console.log(variable):
    }

しかし、出力はまだ完全な行です。

4

2 に答える 2

2

、を使用.split()して、目的のアイテムを引き出します。

var variable = variable.split("#");
console.log(variable[1]);

.split()文字列を配列に変換し、最初の変数を区切り文字として使用します。

もちろん、正規表現だけが必要な場合は、次のことができます。

console.log(variable.match(/([^#]+)/g));

これにより、アイテムの配列が再び得られますが、ハッシュの前の空の値をアイテムとして使用しないため、小さいものになります。さらに、@ Stephen Pが述べているように、必要な()アイテムをキャプチャするには、キャプチャグループ()を使用する必要があります。

于 2013-01-15T01:25:34.133 に答える
1

これらの線に沿ってもっと何かを試してください...

var thetext="#user 9#I'm alive!";
thetext.match(/\#([^#]+)\#/g);

ポンド記号の間にあるテキストを収集するために、キャプチャグループ(括弧内の部分)を導入する必要があります。

.exec()何をしているのかによっては、代わりに使用すること.match()をお勧めします。SOの質問「javascript正規表現で一致したグループにどのようにアクセスしますか?」に対するこの回答も参照してください。

于 2013-01-15T01:28:07.877 に答える