ホームページ バックエンド開発 PHPチュートリアル PHPの定例学習例を詳しく解説_PHPチュートリアル

PHPの定例学習例を詳しく解説_PHPチュートリアル

Jul 21, 2016 pm 03:50 PM
abc php the による マッチ そして 勉強 始まり 通常 比較する 終わり 説明する

「^The」: 「The」で始まる文字列と一致します。この文字列は実際には abc のみに一致します。テスト対象の文字列のどこにでも出現する場合、それを両側にロックすることはありません。

いくつかの文字「*」、「+」、「?」もあり、これらはそれぞれ「0 個以上」、「1 個以上」を表します。 、および「ゼロまたは 1 つ」の例をいくつか示します:

"ab*": 文字列 a と 0 個以上の b からなる文字列 ("a"、"ab"、"abbb" など) に一致します。

「ab+」: 上記と同じですが、少なくとも 1 つの b (「ab」、「abbb」など)

「ab?」: 0 または 1 つの b と一致します

「a?b+$」 : 1 つまたは 0 a と 1 つ以上の b で終わる文字列と一致します。



"ab{2}" のように、中括弧内に表示される文字の数を制限することもできます。 a の後に 2 つの b ( 1 つ減らない) ("abb");

"ab{2,}": 少なくとも 2 つの b ("abb"、"abbbb" など);

"ab{ 3,5}": 2 -5 b("abbb"、"abbbb"、または "abbbbb")

常に指定する必要があることにも注意する必要があります (つまり、"{,2}" ではなく "{0,2}")。同様に、「*」、「+」、および「?」は、次の 3 つの範囲注釈「{0,}」、「{1,}」、および「{0,1}」と同じであることに注意する必要があります。 。

ここで、括弧内に特定の数の文字を入れます。例:

"a(bc)*": a の後に 0 または 1 つの "bc" が続くものと一致します。

"a(bc){1,5} ": 1 ~ 5 "bc."

OR 演算に相当する文字 '│' もあります。

"hi│hello": "hi" または "hello" を含む文字列に一致します

"; │cd)ef": "bef" または "cdef" を含む文字列と一致します;

"(a│b)*c": - 複数の (0 を含む) a または b の後に、次の A 文字列が続く文字列と一致します。 c string;

ドット ('.') はすべての単一文字を表すことができます:

"a.[0-9]": a の後に文字が続き、その後に数字が続きます (文字列の文字列は次のようになります)一致する場合、この括弧は将来省略されます)

「^.{3}$」: 3 文字で終わる角括弧で囲まれた内容は 1 つの文字にのみ一致します

「[ab]」 : 1 つの a に一致します。 or b ("a│b" と同じ);

"[a-d]": 'a' から 'd' までの 1 文字と一致します ("a|b|c|d" および " [abcd]" と同じ)効果は同じです);

"^[a-zA-Z]": 文字で始まる文字列と一致します

"[0-9]%": "x%" を含む文字列と一致します

",[a- zA-Z0-9]$": カンマで終わり、その後に数字または文字が続く文字列と一致します

括弧内に入れたくない文字をリストすることもできます。括弧内に入れるだけで済みます。' を使用します。 ^' を先頭にします (つまり、"%[^a-zA-Z]%" は、中に文字以外のパーセント記号が 2 つ含まれる文字列に一致します)

説明できるようにするためですが、"^.[ $()│*+?{"特別な意味を持つ文字として、これらの文字の前に '' を追加する必要があります。php3 では、正規表現などのパターンの先頭でこれらを使用することは避けるべきです。" ($│ ?[0-9]+" は ereg("(\$│?[0-9]+", $str) のように呼び出す必要があります (php4 でも同じかどうかはわかりません)

Don'角括弧内の単語を忘れないでください。文字はこの規則の例外です。角括弧内では、('') を含むすべての特殊文字はその特別な特性を失います (つまり、「[*+?{}.]」はこれらを含む文字と一致します)また、regx マニュアルには次のように記載されています。「リストに ']' が含まれる場合、それをリストの最初の文字 (おそらく '^' に続く) として使用するのが最善です。それに '-' が含まれる場合、範囲の先頭、末尾、または 2 番目の末尾に置く方が良いです (つまり、[a-d-0-9] 真ん中の '-' は機能します。

完全を期すために、照合を参照する必要があります)シーケンス、文字クラス、等価クラスについては詳しく説明しません。詳細については、正規表現のマニュアル ページを参照してください。次の記事で説明する必要はありません。

パターンの構築方法 通貨金額の入力を照合するには

さて、ここで学んだことを使って何か役に立つことをしてみます: 入力情報がお金を表す数値かどうかをチェックする照合パターンを構築します。金額を表す方法は 4 つあると思います: "10000.00" と "10,000.00"、または小数部なしの "10000" と "10,000" では、この一致パターンの構築を始めましょう:

^[1-9]。 ] [0-9]*$

これは、すべての変数が 0 以外の数字で始まる必要があることを意味しますが、これは、単一の「0」ではテストに合格できないことも意味します。

^(0) │[1 -9][0-9]*)$

「0 と 0 で始まらない数字のみが一致する」、数字の前に負号を付けることもできます:

^(0│-?[ 1- 9][0-9]*)$

つまり、「0 または 0 で始まる数字で、先頭にマイナス記号が付いている可能性があります。」 0. コインを表すときにマイナス記号は必要ないので、ここでマイナス記号を削除しましょう:

^[0-9]+(.[0-9]+)? $

これは、一致する文字列が少なくとも 1 つのアラビア数字で始まる必要があることを意味します。ただし、上記のパターンでは「10.」が一致せず、「10」と「10.2」のみが一致することに注意してください。
^[0-9]+(.[0-9]{2})?$

上記では、小数点以下 2 桁でなければならないと指定しましたが、これが厳しすぎると思われる場合は、変更できます。 to:

^[ 0-9]+(.[0-9]{1,2})?$

これにより、小数点の後に 1 文字または 2 文字が許可されます(3 桁ごとに)。 )、次のように表現できます:

^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$

空白文字列の入力を許可したい場合は、プラス記号「+」を乗算記号「*」に置き換えることができることを忘れないでください(なぜですか?)また、バックスラッシュ「」が原因となる可能性があることも忘れないでください。 PHP 文字列のエラー (非常に一般的なエラー)。文字列を検証できるようになったので、カンマ str_replace(",", "", $money) をすべて削除し、型を double として扱うことができるので、それを使って計算できるようになります。

メールをチェックするための正規表現の構築

メール アドレスを検証する方法について引き続き説明します。完全なメール アドレスには、POP3 ユーザー名 ('@' の左側すべて)、'@'、サーバーの 3 つの部分があります。名前 (残りの部分) には、大文字、小文字、アラビア数字、ピリオド (「.」)、マイナス記号 (「-」)、およびアンダースコア (「_」) を含めることができます。サーバー名もこの規則に従います。もちろん、アンダースコアは除きます。

ユーザー名はピリオドで始まり、ピリオドで終わることはできません。また、間に少なくとも 1 文字のピリオドを入れることもできません。次に、ユーザー名の作成方法を見てみましょう。一致するパターンを作成します:

^[_a-zA-Z0-9-]+$

ピリオドの存在はまだ許可されていません:

^[_a-zA-Z0-9-]+ (.[_a-zA-Z0-9-]+)*$

上記は、「少なくとも 1 つの正規文字 (. 予期せぬ文字を除く) で始まり、その後にドットで始まる 0 個以上の文字列が続く」という意味です。物事を少し単純化するために、 ereg() の代わりに eregi() を使用できます。 eregi() は大文字と小文字を区別しないため、「a-z」と「A-Z」の 2 つの範囲を指定する必要はありません。指定する必要があるのは 1 つだけです。 . 現在:

^[_a-z0-9-]+(.[_a-z0-9-]+)*$

次のサーバー名は同じですが、アンダースコアを削除する必要があります:

^[ a-z0- 9-]+(.[a-z0-9-]+)*$

あとは「@」を使って 2 つの部分を接続するだけです:

^[_a-z0-9-]+ (.[_a -z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$

これは完全な電子メール認証照合モードです。ただ呼び出すだけです。

エレギ('^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+) *$ ',$eamil)

メールかどうかを取得できます。

正規表現のその他の使用法

文字列の抽出

ereg() と eregi() には、正規表現を使用して文字列の一部を抽出できる機能があります (具体的な使用法についてはマニュアルを参照してください)。パス/URL からファイル名を抽出したい – 次のコードが必要です:

ereg("([^\/]*)$", $pathOrUrl, $regs);
高度な置換

ereg_replace() と eregi_replace() も非常に便利です: 区切られたすべての負符号をカンマで置き換えたい場合:

ereg_replace("[ nrt]+", ",", trim($ str)) ;

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/319343.html技術記事 "^The": "The" で始まる文字列に一致します。 "ofdespair$": "ofdespair" で終わる文字列に一致します。 "^abc$": abc で始まり abc で終わる文字列に一致します。実際には、abc のみが一致します。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles