ホームページ >ウェブフロントエンド >jsチュートリアル >正規表現に代わるもの:APG-Exp
この記事は、セバスチャン・セイツとアルミール・ビヘディックによって査読されました。 SetePointのすべてのピアレビューアに感謝します。 ほとんどすべてのプログラマーは、時々何らかの形で正規表現を使用する必要があります。多くの人にとって、パターンの文法は神秘的で気が遠くなるように思えるかもしれません。このチュートリアルでは、ABNFパターンの構文を使用し、読みやすいRegexpの機能が豊富な代替品であるAPG-Expを一致させる新しいパターンを紹介します。
キーポイントパターンマッチングエンジンは、このジョブに適したツールです。これは、適切に設計された、よく書かれた正規表現です。正常に動作します。それで、あなたは他に何が好きではありませんか?
<code>^[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[A-Z0-9-]+\.)+[A-Z]{2,6}$</code>
まあ、あなたが正規表現の専門家であるなら、何もありません。しかし、私たちの残りの部分では、彼らは
かもしれません読むのは難しい
ABNFで同じメールアドレスがどのように見えるか見てみましょう。
もちろん、それはコンパクトではありませんが、HTMLやXMLのように、人間や機械が読むように設計されています。ワイルドカード検索パターンを少し理解しているだけで、「Simple English」で何が起こっているのかをほとんど読むことができます。
APG-Expは、再gexpの外観と感触を持つように設計されたパターンマッチングエンジンですが、パターン定義にABNF構文を使用します。次のいくつかのセクションでは、次のようにご案内します。
APG-EXPをアプリケーションに統合する方法
例:
<code>^[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[A-Z0-9-]+\.)+[A-Z]{2,6}$</code>
github
githubからコードのコピーを取得するには、プロジェクトディレクトリにリポジトリをクローンできます。
<code>email-address = local "@" domain local = local-word *("." local-word) domain = 1*(sub-domain ".") top-domain local-word = 1*local-char sub-domain = 1*sub-domain-char top-domain = 2*6top-domain-char local-char = alpha / num / special sub-domain-char = alpha / num / "-" top-domain-char = alpha alpha = %d65-90 / %d97-122 num = %d48-57 special = %d33 / %d35 / %d36-39 / %d42-43 / %d45 / %d47 / %d61 / %d63 / %d94-96 / %d123-126</code>
次に、page.html:
で<code>npm install apg-exp --save</code>
cdn
Rawgitを使用して、GitHubソースコードから直接CDNバージョンを作成することもできます。ただし、稼働時間やサポート保証を必ず読んでください(実際にFAQ全体を必ず読んでください)。
このチュートリアルのすべての例は、以下を使用します。<code>var ApgExp = require("apg-exp"); var exp = new ApgExp(pattern, flags); var result = exp.exec(stringToMatch);</code>
(記事の長さのために、次のコンテンツが切り捨てられています。継続的な処理のために後続の部分を提供してください)
<code>git clone https://github.com/ldthomas/apg-js2-exp.git apg-exp</code>
以上が正規表現に代わるもの:APG-Expの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。