ホームページ バックエンド開発 PHPチュートリアル テキストをより適切に処理できる正規表現関数

テキストをより適切に処理できる正規表現関数

Jun 15, 2023 pm 09:28 PM
正規表現 関数 テキスト処理

正規表現 (正規表現) は、テキスト パターンを照合するためのツールです。特定の文法規則を通じて、テキスト内の要件を満たすコンテンツを検索して照合できます。この検索テクノロジは、テキスト処理で広く使用されています。プログラミング、データクリーニングやその他の分野。

実際のテキスト処理では、特定のルールに準拠したテキストの断片を抽出し、置換、削除、抽出などの操作を実行する必要があることがよくあります。これらの操作は正規表現を使用して非常に簡単に実行でき、テキスト エディターでもプログラミング言語でも、開発者が使用できる関連する正規表現関数が組み込まれています。

1. 一般的に使用される正規表現関数

  1. re.compile(pattern, flags): 後で使用できるように、正規表現を正規表現オブジェクトにコンパイルします。
  2. re.search(pattern, string, flags): 文字列内で正規表現に一致するものを検索し、最初に一致したオブジェクトを返すか、一致しない場合は None を返します。
  3. re.match(pattern, string, flags): 文字列の先頭から正規表現との一致を試みます。一致した場合は、最初に一致したオブジェクトを返します。一致しない場合は、None を返します。 。
  4. re.findall(pattern, string, flags): 正規表現に一致する文字列内のすべての項目を検索し、リストを返します。一致するものがない場合は空のリストを返します。
  5. re.sub(pattern, repl, string, count=0, flags=0): repl を使用して、正規表現パターンに一致する文字列内のすべての項目を置換します。置換の数はカウントによって制限できます。パラメータに一致するものがない場合は、元の文字列が返されます。
  6. re.split(pattern, string, maxsplit=0, flags=0): 正規表現パターンに従って文字列をリストに分割し、リストを返します。maxsplit を通じて分割数を制限できます。パラメータに一致するものがない場合は、元の文字列が返されます。
  7. re.finditer(pattern, string, flags=0): 正規表現パターンに一致する文字列内のすべての項目を検索し、一致するオブジェクトに順番にアクセスできるイテレータを返します。

2. 実際の適用例

  1. 携帯電話番号の抽出:

実際のビジネス シナリオでは、テキストから抽出する必要がある場合があります。携帯電話番号の場合は、正規表現を使用して携帯電話番号のパターンと一致させることができます。

コードは次のとおりです:

import re

text = "我的电话号码是:13888888888,欢迎来电咨询。"

pattern = re.compile(r"1[3456789]d{9}")

res = re.search(pattern, text)

if res:

    print("电话号码:", res.group())

else:

    print("未匹配到电话号码")
ログイン後にコピー

出力結果は次のようになります: 電話番号: 13888888888。

  1. データ クリーニング:

データ分析を実行するとき、特定の句読点や HTML タグなどの不要な文字をデータから削除する必要がある場合があります。この機能は正規表現を使用して簡単に実現できます。

コードは次のとおりです:

import re

text = "<title>数据分析入门指南</title>"

pattern = re.compile(r"<.+?>")

res = re.sub(pattern, "", text)

print(res)
ログイン後にコピー

出力結果は次のとおりです: データ分析入門ガイド。

  1. 電子メール形式の検証:

ユーザー登録、ログイン、その他のシナリオでは、電子メール形式が正しいかどうかを検証する必要があることがよくあります。表現。

コードは次のとおりです:

import re

email = "test@test.com"

pattern = re.compile(r"^w+([-+._]w+)*@w+([-.]w+)*.w+([-.]w+)*$")

res = re.match(pattern, email)

if res:

    print("邮箱格式正确")

else:

    print("邮箱格式错误")
ログイン後にコピー

出力結果は次のとおりです: 電子メールの形式は正しいです。

3. まとめ

正規表現は理解するのが難しいですが、関連する関数と文法規則を習得することは、テキスト処理やプログラミングなどにおいて重要な役割を果たします。一般的に使用される正規表現関数には、re.compile()、re.search()、re.match()、re.findall()、re.sub()、re.split()、re.finditer() などが含まれます。 , テキスト検索、クリーニング、形式検証などの機能を簡単に実装できます。実際の使用においては、処理の効率と精度を向上させるために、さまざまなシナリオに応じて適切な正規表現パターンを選択する必要があります。

以上がテキストをより適切に処理できる正規表現関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

golang 関数で新しい関数を動的に作成するためのヒント golang 関数で新しい関数を動的に作成するためのヒント Apr 25, 2024 pm 02:39 PM

Go 言語は、クロージャとリフレクションという 2 つの動的関数作成テクノロジを提供します。クロージャを使用すると、クロージャ スコープ内の変数にアクセスでき、リフレクションでは FuncOf 関数を使用して新しい関数を作成できます。これらのテクノロジーは、HTTP ルーターのカスタマイズ、高度にカスタマイズ可能なシステムの実装、プラグイン可能なコンポーネントの構築に役立ちます。

C++ 関数の命名におけるパラメーターの順序に関する考慮事項 C++ 関数の命名におけるパラメーターの順序に関する考慮事項 Apr 24, 2024 pm 04:21 PM

C++ 関数の名前付けでは、読みやすさを向上させ、エラーを減らし、リファクタリングを容易にするために、パラメーターの順序を考慮することが重要です。一般的なパラメータの順序規則には、アクション-オブジェクト、オブジェクト-アクション、意味論的な意味、および標準ライブラリへの準拠が含まれます。最適な順序は、関数の目的、パラメーターの種類、潜在的な混乱、および言語規約によって異なります。

正規表現を使用して Golang でメールアドレスを検証するにはどうすればよいですか? 正規表現を使用して Golang でメールアドレスを検証するにはどうすればよいですか? May 31, 2024 pm 01:04 PM

正規表現を使用して Golang で電子メール アドレスを検証するには、次の手順に従います。 regexp.MustCompile を使用して、有効な電子メール アドレス形式と一致する正規表現パターンを作成します。 MatchString 関数を使用して、文字列がパターンと一致するかどうかを確認します。このパターンは、次のようなほとんどの有効な電子メール アドレス形式をカバーします。 ローカル ユーザー名には文字、数字、および特殊文字を含めることができます: !.#$%&'*+/=?^_{|}~-` ドメイン名には少なくとも次の文字が含まれている必要があります。 1 文字の後に文字、数字、またはハイフンを続けます。トップレベル ドメイン (TLD) は 63 文字を超えることはできません。

Java で効率的で保守しやすい関数を記述するにはどうすればよいでしょうか? Java で効率的で保守しやすい関数を記述するにはどうすればよいでしょうか? Apr 24, 2024 am 11:33 AM

効率的で保守しやすい Java 関数を作成するための鍵は、シンプルに保つことです。意味のある名前を付けてください。特殊な状況に対処します。適切な可視性を使用してください。

Go で正規表現を使用してタイムスタンプを照合するにはどうすればよいですか? Go で正規表現を使用してタイムスタンプを照合するにはどうすればよいですか? Jun 02, 2024 am 09:00 AM

Go では、正規表現を使用してタイムスタンプを照合できます。ISO8601 タイムスタンプの照合に使用されるような正規表現文字列をコンパイルします。 ^\d{4}-\d{2}-\d{2}T \d{ 2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$ 。 regexp.MatchString 関数を使用して、文字列が正規表現と一致するかどうかを確認します。

Excel関数の公式の完全なコレクション Excel関数の公式の完全なコレクション May 07, 2024 pm 12:04 PM

1. SUM 関数は、列またはセルのグループ内の数値を合計するために使用されます (例: =SUM(A1:J10))。 2. AVERAGE 関数は、列またはセルのグループ内の数値の平均を計算するために使用されます (例: =AVERAGE(A1:A10))。 3. COUNT 関数。列またはセルのグループ内の数値またはテキストの数をカウントするために使用されます。例: =COUNT(A1:A10)。 4. IF 関数。指定された条件に基づいて論理的な判断を行い、結果を返すために使用されます。対応する結果。

カスタム PHP 関数と定義済み関数の違いは何ですか? カスタム PHP 関数と定義済み関数の違いは何ですか? Apr 22, 2024 pm 02:21 PM

カスタム PHP 関数と定義済み関数の違いは次のとおりです。 スコープ: カスタム関数はその定義のスコープに限定されますが、事前定義関数はスクリプト全体からアクセスできます。定義方法: カスタム関数は function キーワードを使用して定義されますが、事前定義関数は PHP カーネルによって定義されます。パラメータの受け渡し: カスタム関数はパラメータを受け取りますが、事前定義された関数はパラメータを必要としない場合があります。拡張性: カスタム関数は必要に応じて作成できますが、事前定義された関数は組み込みで変更できません。

Goで正規表現を使用してパスワードを確認するにはどうすればよいですか? Goで正規表現を使用してパスワードを確認するにはどうすればよいですか? Jun 02, 2024 pm 07:31 PM

Go で正規表現を使用してパスワードを検証する方法は次のとおりです。 パスワードの最小要件 (小文字、大文字、数字、特殊文字を含む少なくとも 8 文字) を満たす正規表現パターンを定義します。 regexp パッケージの MustCompile 関数を使用して正規表現パターンをコンパイルします。 MatchString メソッドを使用して、入力文字列が正規表現パターンと一致するかどうかをテストします。

See all articles