2012-04-11 14 views
3

私は正規表現に新たなんだと、私はこの問題を解決しなければならない方法を見つけるように見えることはできません。正規表現「/」

私は正規表現を必要とする、唯一のnumbers「を可能にする」ということlettersおよび/。私はこれを書いた:

/[^a-zA-Z0-9/]/g

私はそれが最初/オフを除去することは可能だと思うが、どのように知りません。

ので#/register/step1が、私はこの結果を得ることができる方法を知っていregister/step1

なり?

ありがとうございます!

+3

は、あなたが代わりに 'G'ストリッピングしてみてくださいましたか? – alf

答えて

2

パターンが文字列に隣接している場合は、非グローバルマッチを使用することができます。

をワット\
var rx=/(([a-zA-Z0-9]+\/*)+)/; 

var s='#/register/step1'; 

var s1=(s.match(rx) || [])[0]; 


alert(s1)>>> returned value: (String) "register/step1" 
+0

ありがとう!魅力のように働く! – Ronald

0

私はこれを最初に示唆していませんでしたが、単純に置換するのではなくパターンを適用するだけであれば、パターンを確認する前にそのスラッシュを置き換えてstrpos ()、substr()、または同様のものです。すでに)(にpreg_replaceを使用している場合は、その機能のドキュメント上の例を見てみなければならない、彼らは非常に関連している

0
"/register/step1".match(/[a-zA-Z0-9][a-zA-Z0-9/]*/); // ["register/step1"] 

ので、[^ A-ZA-Z0-9_]と等価です:

"/register/step1".match(/\w[\w/]*/); // ["register/step1"]