2011-12-15 8 views
1

s=の後で、&の後ろにあるもの、または文字列の最後を探したい。文字列が正規表現:別のものの前にあるものの後ろにあるものを見つける

トン= QWERTY & S =こんにちは& P = 3

であれば例えば、私はhelloを取得したいです。文字列が

トン= QWERTY & S =こんにちは

であれば、私はまた、hello

はありがとう取得したいです!

+0

あなたはregexenを使用してクエリ文字列を解析していますか? – sehe

+0

@sehe:いいえ、クエリ文字列ではありません。これは、クエリ文字列の一部を格納するカスタムhtml属性です。 – dmr

+0

はそれほど大した違いはありませんか?非クエリーストリング-yビットを取り除くと、すべてクエリーストリング-yになります。テキストはテキストのみです。形式を賢明に選択すると、作業が少なくなります – sehe

答えて

5

\bs=([^&]+)とグラブ$1はいいですか?

編集:追加語アンカー!それ以外の場合はherpies、 ...

+0

JavaScriptを使用して$ 1を取得するにはどうすればよいですか? string.matchを使用しますか? – dmr

+1

'r.exec(input)'を使って、ここでrはRegExpオブジェクトで、 'r.match [1]'を使っています。 – fge

+1

+1しかし、 "anything"はゼロかもしれません。私は、 's =([^&] *)'を代わりに使用します。 – ridgerunner

1

質問文字列の解析を目的としたものを試してみませんか?そうすれば、あなたは車輪を再発明しながら明白な次のハードルに陥ることはないと推測できます。

jQueryの

それとも、少しグーグルができます(JavaScript query stringを参照)そのためのクエリオブジェクトを持っています

function getQuerystring(key, default_) 
{ 
    if (default_==null) default_=""; 
    key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); 
    var regex = new RegExp("[\\?&]"+key+"=([^&#]*)"); 
    var qs = regex.exec(window.location.href); 
    if(qs == null) 
    return default_; 
    else 
    return qs[1]; 
} 

が便利になります。

http://www.bloggingdeveloper.com?author=bloggingdeveloper 

と、たとえば、あなたは、「著者」クエリ文字列の値を取得したい:

var author_value = getQuerystring('author'); 
1

これを実行する最も簡単な方法は、セレクタs=([^&]*)&です。括弧の内側には[^&]があり、hello&p=3にはpの後にもう1つフィールドがあります。

関連する問題