8

文字列が JavaScript のパターンに一致するかどうかをテストしたい

問題は、中間パターンにランダムな文字列があることです: "account/os/ some_random_string /call_back"

したがって、以下のような文字列が一致します

var mystring = "アカウント/OS/1234567/call_back"

ありがとう

4

2 に答える 2

2

まあ、それは依存します。account/os/ と /call_back の間のすべての文字が必要な場合は、これを使用します。

var randomStr = mystring.match(/account\/os\/(.*)\/call_back/)[1];

一致すると、2 つの要素を持つ配列が返されます。最初の要素は一致全体を含み、2 つ目はグループ (.*) を含みます。そこに少なくとも 1 文字あることが完全に確実な場合は、* を + に置き換えます。

収集しなければならないテキストについてより具体的なことがわかっている場合は、以下に . の代わりをいくつか示します (ドットはほぼすべてに一致します)。

[A-z] for any of A, B, .. , Y, Z, a, b, .. , y, z
[0-9] for any digit

次に、次のようにミックスして、派手にすることができます。

[A-Ea-e0-36-8]

したがって、パターンは次のようになります。

/account\/os\/([A-Ea-e0-36-8]*)\/call_back/

あなたの例には番号があるので、おそらく探しているのは次のとおりです。

/account\/os\/([0-9]*)\/call_back/

また

/account\/os\/(\d*)\/call_back/

.. それは同じことです。

それが役立つことを願っています。

編集:どの JS の回答に jsfiddle がありませんか? http://jsfiddle.net/U2Jhw/

于 2013-08-01T05:27:44.303 に答える