モジュール正規表現(RE)は、それにマッチする文字列(パターン)の集合を指定します。
REのアナロジーを理解するために、MetaCharactersは便利で重要であり、モジュールreの関数で使用されることになります。
メタキャラクタは全部で14個あり、関数に続く形で説明します。
\ Used to drop the special meaning of character following it (discussed below) Represent a character class^ Matches the beginning$ Matches the end. Matches any character except newline? Matches zero or one occurrence.| Means OR (Matches with any of the characters separated by it.* Any number of occurrences (including 0 occurrences)+ One or more occurrences{} Indicate number of occurrences of a preceding RE to match.() Enclose a group of REs
- Function compile()
正規表現はパターンオブジェクトにコンパイルされ、パターンマッチの検索や文字列置換などの様々な操作のためのメソッドを持つ。
import
re
p
=
re.
compile
(
''
)
print
(p.findall(
"Aye, said Mr. Gibenson Stark"
))
出力されます。
出力を理解する。
大文字と小文字を区別するため、最初の出現は「Aye」の「e」であり、「A」ではない。
次の出現は「said」の「a」、「said」の「d」、「Gibenson」の「b」と「e」、最後の「a」は「Stark」とマッチします。
メタキャラクタのバックスラッシュ「 \ 」は、さまざまなシーケンスを示す非常に重要な役割があります。 メタキャラクタとしての特別な意味を持たずにバックスラッシュを使用する場合は、’weather’
Set class will match any whitespace character, ‘,’, or,’.
出力します。
Output:
.
import
re
p
=
re.
compile
(
'ab*'
)
print
(p.findall(
"ababbaabbb"
))
出力されます。
アウトプットを理解する。
我々のREはab*で、’a’に0から始まる任意の数の’b’が付随しています。
出力’ab’は、単一の’a’に単一の’b’を伴うので、有効です。
出力された’abb’は、1つの’a’に2つの’b’が付随しているので、有効である。
出力 ‘a’ は、シングル ‘a’ とシングル ‘b’ の組み合わせで、有効です。
- Function split()
文字またはパターンの出現によって文字列を分割し、そのパターンを見つけると、文字列から残りの文字が結果のリストの一部として返されます。
構文:
re.split(pattern, string, maxsplit=0, flags=0)
最初のパラメータである pattern は正規表現、string はパターンが検索され分割される文字列、maxsplit は指定されない場合ゼロ ‘0’ と見なされ、ゼロ以外の値が与えられると最大その数の分割が行われる。 maxsplit = 1 の場合、文字列は一度だけ分割され、長さ 2 のリストになります。 フラグは非常に便利で、コードを短くするのに役立ちますが、必須のパラメータではありません。
出力されます。
- Function sub()
Syntax:
re.sub(pattern, repl, string, count=0, flags=0)
関数中の「sub」はSubStringの略で、与えられた文字列(第3パラメータ)の中からある正規表現パターンを検索し、部分文字列パターンが見つかったらRep(第2パラメータ)に置き換え、その回数をカウントして保持します。
出力
S~*ject has ~*er booked alreadyS~*ject has Uber booked alreadyS~*ject has Uber booked alreadyBaked Beans & Spam
- Function subn()
Syntax:
re.subn(pattern, repl, string, count=0, flags=0)
subn() は、出力を提供する方法を除いて、すべての点で sub() と似ています。 これは、文字列だけでなく、置換の合計のカウントと新しい文字列を持つタプルを返す。
出力
('S~*ject has Uber booked already', 1)('S~*ject has ~*er booked already', 2)Length of Tuple is: 2S~*ject has ~*er booked already
- Function escape()
Syntax:
re.escape(string)
すべての非英数字をバックスラッシュした文字列を返します。これは、正規表現のメタキャラクタを含むかもしれない任意のリテラル文字列にマッチしたい場合に有用です。
import
re
print
(re.escape(
"This is Awseome even 1 AM"
))
print
(re.escape(
"I Asked what is this , he said \t ^WoW"
))
出力
This\ is\ Awseome\ even\ 1\ AMI\ Asked\ what\ is\ this\ \,\ he\ said\ \ \ \^WoW
本記事はPiyush Doorwar氏により寄稿されたものです。 GeeksforGeeksが好きで、貢献したい場合は、contribute.geeksforgeeks.orgを使って記事を書くか、[email protected] まで記事を郵送することもできます。 あなたの記事が GeeksforGeeks のメインページに表示されるのを見て、他のギークを助けてください。
何か間違ったことを見つけたり、上で議論したトピックについてもっと情報を共有したい場合は、コメントを書いてください。 Pythonプログラミング基礎コースで基礎を強化し、基本を学ぶ。
そもそも面接対策 Python DSコースでデータ構造の概念を強化する。