これは文字列の中で探しています:XXXX-XXX-XXXここでXは任意の数字です。このRegExpを作成する方法
私はJavaScriptを使用して文字列でこれを見つける必要がありますので、私にもJavaScriptを提供できる人にはボーナスポイントが付いています。私は正規表現を作成しようとした:^[0-9]{4}\-[0-9]{3}\-[0-9]{3}$
また、私はあなたの正規表現を作成するためにあなたが使用しているチートシートやプログラムの知りたいです。
これは文字列の中で探しています:XXXX-XXX-XXXここでXは任意の数字です。このRegExpを作成する方法
私はJavaScriptを使用して文字列でこれを見つける必要がありますので、私にもJavaScriptを提供できる人にはボーナスポイントが付いています。私は正規表現を作成しようとした:^[0-9]{4}\-[0-9]{3}\-[0-9]{3}$
また、私はあなたの正規表現を作成するためにあなたが使用しているチートシートやプログラムの知りたいです。
ハイフンは正規表現の構文文字であるため、エスケープする必要があります。 – austincheney
@austincheney本当ですか? [それは*エスケープダッシュなしで動作する](http://jsfiddle.net/Ck3pm/) – Joseph
あなたは文字セットの外で適用されることは確かですか? – hexparrot
var result = (/\d{4}\-\d{3}\-\d{3}/).exec(myString);
-1は、ハイフンをエスケープする必要性に関する誤報を広めるためのものです。 –
@AdamZalcman今あなたは虚弱です。私は上記のあなたのコメントに答えました。 – austincheney
のためのGoogleの:
^[0-9]{4}\-[0-9]{3}\-[0-9]{3}$
-
がメタ文字ではないので、それをエスケープする必要はありません - これは、明示的なバックスラッシュ文字を探していますが。
また、文字列の先頭と最後にマッチを固定しました。これはという数字のの文字列と一致します。 (まあ、残りは正しかったと仮定した場合)
を、私はカウントの{3}
スタイルのように、ほとんどの人が知っているが、一致している事は一桁のとき、私は、これは、より読みやすい見つける:
\d\d\d\d-\d\d\d-\d\d\d
あなたは16進数に一致するまで、これを拡張したい場合は、このいずれかを拡張することは恐ろしいことだろうが、私は、これは選択肢よりもはるかに読みやすいと思う:あなたが読むことが最も簡単であるものは何でもして
\d{4}-\d{3}-\d{3}
[[:digit:]]{4}-[[:digit:]]{3}-[[:digit:]]{3}
[0-9]{4}-[0-9]{3}-[0-9]{3}
移動します。
perlre(1)
マンページを私の主な参照として使用する傾向があります。これは、多くの正規表現エンジンよりはるかに機能が豊富であることを十分に理解しています。私は、perlre
マンページがほとんどのシステム上でどの程度便利に利用できるかを考慮して、違いを処理する用意ができています。
私は正規表現を作成しようとしました:^ [0-9] {4} \ - [0-9] {3} \ - [0-9] {3} $ – MichaelH
これは合理的な質問ですか? @AmitBhargavaハイフンは正規表現の構文文字なので、リテラルとして動作するようにハイフンをエスケープする必要があるので、あなたの答えは正しくありません。 – austincheney
ありがとう@austincheney –