ホームページ > バックエンド開発 > PHPチュートリアル > Pythonの正規表現で中国語を照合する方法は何ですか?

Pythonの正規表現で中国語を照合する方法は何ですか?

WBOY
リリース: 2016-07-25 08:43:46
オリジナル
952 人が閲覧しました
インターネットで Python の正規表現を検索すると、何千万もの検索結果が表示されます。正規表現の学習に対する需要は非常に高いようです。正規表現は、文字列が特定のパターンに一致するかどうかを簡単に確認するのに役立つ特別な文字のシーケンスです。以下に、ケースに基づいて中国語を照合するための Python の正規表現を簡単に紹介します。必要な方は学習してください。
正規表現は、Python プログラミング言語 (http://www.maiziedu.com/course/python/) の一部ではありません。正規表現は、文字列を処理するための強力なツールです。独自の構文と独立した処理エンジンを備えています。str 独自のメソッドほど効率的ではないかもしれませんが、非常に強力です。このおかげで、正規表現の構文は、正規表現を提供する言語で同じになります。唯一の違いは、異なるプログラミング言語の実装によってサポートされる構文の数が異なることです。ただし、サポートされていない構文は通常は一部です。それは一般的には使用されません。
Python 正規表現の概要
正規表現は、文字列が特定のパターンに一致するかどうかを簡単にチェックするのに役立つ特別な文字のシーケンスです。
Python はバージョン 1.5 以降、Perl スタイルの正規表現パターンを提供する re モジュールを追加しました。
re モジュールは、Python 言語に完全な正規表現機能をもたらします。
compile 関数は、パターン文字列とオプションのフラグ引数に基づいて正規表現オブジェクトを生成します。このオブジェクトには、正規表現の一致と置換のための一連のメソッドがあります。
re モジュールは、最初の引数としてパターン文字列を取る、これらのメソッドと同じ関数も提供します。
上記はすべて本文の伏線です。Python の正規表現がどのように中国語と一致するかを見てみましょう。
# -*- コーディング: utf-8 -*-
import re
def findPart(正規表現, テキスト, 名前):
res=re.findall(正規表現, テキスト)
if res:
print "%d %s のパーツがあります:n"% (len(res), name)
for r in res:
print "t",r.encode("utf8")
print
text =" #who#helloworld#a中文x#"
usample=unicode(text,'utf8')
findPart(u"#[wu2E80-u9FFF]+#", usample, "unicode chinese")
注:
いくつかの主要な非英語文字範囲
2E80~33FFh: 中国語、日本語、韓国語の記号領域。康熙辞書の部首、中国語、日本語、韓国語の補助部首、発音記号、日本語の仮名、韓国語の音符、中国語、日本語、韓国語の記号、句読点、丸または括弧で囲まれたルーン数字、月、および日本語の仮名の組み合わせ、単位、年が含まれています。数字、月、日、時刻など
3400~4DFFh: 中国、日本、韓国によって認識される表意文字の拡張領域 A。これには、合計 6,582 の中国語、日本、韓国語の漢字が含まれます。
4E00~9FFFh: 中国、日本、韓国が認識する表意文字領域。中国語、日本、韓国語の合計 20,902 文字が含まれます。
A000~A4FFh: 中国南部のイ族の文字とルーツ文字を含むイー文字エリア。
AC00~D7FFh: ハングルピンイン組み合わせ単語エリア。韓国語の発音記号で綴られた単語が含まれます。
F900~FAFFh: 中国語、日本語、韓国語と互換性のある表意文字領域。合計 302 個の中国語、日本語、韓国語の漢字が含まれます。
FB00~FFFDh: ラテン文字、ヘブライ語、アラビア語、中国語、日本語、韓国語のストレート句読点、小記号、半角記号、全角を含むテキスト表現領域
(
#!/usr/bin / python3
# -*-coding: UTF-8 -*-
import re
message = u'天人合一'.encode('utf8')
print(re.search(u'人' .encode('utf8'), message).group())
対話モードの例
>>> s='電話番号 010-87654321'
>>>
>>> r=re.compile(r'(d+)-(d+)')
>>> m=r.search(s) >>
このトピックは、2016-5-17 13:27 に Xiaobei によってレビューされ、承認されました

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート