正規表現の初心者には助けが必要

javascript regex

入力用のボタンとウィンドウが1つずつあるフォームが必要です

それは正規表現を介して配列をチェックします。

そして文字数の完全一致を見つけるでしょう。 例wxyz [いくつかのスペースところで] 0960000

または数字と文字を組み合わせたもの[いくつかのスペース] 2つの数字01xg [いくつかのスペース] 0960000

配列には今のところ4つのオブジェクトがあります。

一致が見つかったときに私は新しいページまたはウィンドウを開く機能が必要になったら見つけます。

ご協力ありがとうございます。

マイケル

  -1  0


ベストアンサー

Javascriptの部分に答えるために、これは一致する要素を見つけるために配列を “grep”する一つの方法です:

var matches = []; var re = / whatever /;

foo.forEach(関数(el){if(re.exec(el))matches.push(el);});

” ” ‘

正規表現の部分に答えようとします。「完全一致」があなたにとって何を意味するのか私にはわかりません、そして私は「あるスペース」が他の用語の間だけにあると思います小文字と大文字の ‘a’から ‘z’まで、数字は0から9にする必要があります(そうでない場合は、他の言語の文字と一致する可能性があります)。

最初のパターンは/ [a-zA-Z0-9] \ s * 0960000 /になります。 0個以上の空白文字ではなく、少なくとも空白が1つある場合は、 “\ s *”を “\ s”に変更してください。 タブ文字(およびあまり使用されないスペース文字)と一致させるのが望ましくない場合は、 “\ s”を “”に変更してください。

2番目のパターンでは、 “numbers 01xg”の意味がわかりませんが、数字の後にその文字列が続く場合、そのパターンは/ [a-zA-Z0-9] \ s * [0-9]になります。 \ s * 01xg \ s * 0960000 /。 上記と同じ警告が適用されます。

さらに、これは部分的な文字列と一致します。 文字列全体が完全に一致する場合(一致するものを除いて文字列内に何も存在してはならない場合)、文字列の先頭に固定するには “^”を、末尾には “$”を追加します。文字列の末尾に固定します。 たとえば、/ [a-zA-Z0-9] \ s * 0960000 /は “foo_bar 5 0960000″と一致しますが、/ ^ [a-zA-Z0-9] \ s * 0960000 $ /とは一致しません。

Javascriptの正規表現の詳細については、https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp[developer.mozilla.orgのRegExpオブジェクトに関する記事]を参照してください(リンクからJSにアクセスできます)。バージョン1.5のリファレンス。これはすべてのJS対応ブラウザに適用されるはずです。

(追加するように編集):どちらの状況にも一致するように、部分が重なっているため、次のパターンを使用できます。/ [a-zA-Z0-9](?:\ s * [0-9] \ s * 01xg)?\ s * 0960000 /。 疑問符は、異なる部分、つまり一致しないグループ(?:foo)で1回または0回一致するように指示します。 (?:foo)? この場合も(?:foo |)と同じことができますが、パフォーマンスに違いがあるかどうかはわかりません。私はあなたにとって最も理にかなっているものを使用することをお勧めします、それであなたは後でそれを読むことができます。

2


タイトルとURLをコピーしました