آشنایی با regex

  • مدرس: علی بیگدلی
  • تاریخ انتشار: 1402/05/04
  • تعداد بازدید: 274

مقدمه

آموزش regular expressions پایتون و  نحوه استفاده از regex در پایتون را نشان می دهد. برای استفاده از این عامل در پایتون از ماژول re استفاده می کنیم.

عبارات منظم یا regular expressions برای جستجوی متن و دستکاری متن پیشرفته تر استفاده می شود. که شامل ابزارهای داخلی مانند grep ، sed ، ویرایشگرهای متن مانند vi ، emacs ، زبان های برنامه نویسی مانند Tcl ، Perl و Python هستند.

ماژول re

در پایتون ، ماژول re عملیات مطابقت بیانیه ها را فراهم می کند. الگو، عبارتی منظم است که برای پیدا کردن و یا دستکاریش متنی را پیمایش می کنیم. که شامل حروف الفبا و متنهای مختلف است. الگو با تابع compile ساخته می شود. از آنجا که عبارات منظم اغلب شامل نویسه های خاص هستند ، توصیه می شود از رشته های خام استفاده کنید. (رشته های خام با حرف r پیش از آن قرار می گیرند.) به این ترتیب کارکترها قبل از اینکه به یک الگو وارد شوند ، با یکدیگر تداخل نمی کنند.

بعد از اینکه الگویی را کامپایل کردیم ، می توانیم از یکی از توابع برای اعمال الگو روی یک رشته متن استفاده کنیم. عملکردها عبارتند از include match, search, find, and finditer.

Regular expressions

جدول زیر برخی عبارات منظم اساسی را نشان می دهد:

Regex Meaning
. Matches any single character.
? Matches the preceding element once or not at all.
+ Matches the preceding element once or more times.
* Matches the preceding element zero or more times.
^ Matches the starting position within the string.
$ Matches the ending position within the string.
| Alternation operator.
[abc] Matches a or b, or c.
[a-c] Range; matches a or b, or c.
[^abc] Negation, matches everything except a, or b, or c.
\s Matches white space character.
\w Matches a word character; equivalent to [a-zA-Z_0-9]

توابع regex

Function Description
match Determines if the RE matches at the beginning of the string.
fullmatch Determines if the RE matches the whole of the string.
search Scans through a string, looking for any location where this RE matches.
findall Finds all substrings where the RE matches, and returns them as a list.
finditer Finds all substrings where the RE matches, and returns them as an iterator.
split Splits the string by RE pattern.

در صورت موفقیت ، عملکردهای match، fullmatch و search، یک مورد مطابقت را برمی گردانند. در غیر این صورت ، آنها None  را بر نمی گردانند.

که در قسمت بعدی بع بررسی تک تک آن ها خواهیم پرداخت.