search
HomeBackend DevelopmentPython TutorialDetailed explanation of python regular expressions

Detailed explanation of python regular expressions

Jun 05, 2019 am 11:03 AM
regular expression

Detailed explanation of python regular expressions

The concept of regular expression

Regular expression is a logical formula for string operations, which uses some predefined Specific characters and combinations of these specific characters form a "rule string". This "rule string" is used to express a filtering logic for strings.

The syntax rules of regular expressions

The rough matching process of regular expressions is:

1. Take out the expressions and Comparison of characters in the text,

2. If every character can be matched, the match is successful; once there are characters that are not matched successfully, the match fails.

3. If there are quantifiers or boundaries in the expression, the process will be slightly different.

The following are some matching rules for regular expressions in Python

##$##. Matches except newline characters##re{ n}##re{ n,}##( ?#...)Comments.(?= re)(?! re) (?> re)##\d Matches any number, equivalent to [0-9].##\D##\A#\B##\n, \t, etc.

## Pattern

##Description

^

# Matches the beginning of the string

## Matches the end of the string.

(\n)# Any characters of ##, when the re.DOTALL tag is specified, can match any characters including newlines. ##[...]

is used to represent a group of characters, listed separately: [amk] matches 'a', 'm' or 'k'

[^...]

Characters not in []: [^abc] matches characters other than a, b, c.

re*

##matched 0 or multiple expressions.

re

Matches 1 or more expressions.

##re?

## Matches 0 or 1 fragments defined by the previous regular expression, non-greedy way

##Exactly matches n previous expressions.

##re{ n, m}

Match n to m times the fragment defined by the previous regular expression, greedy way

##a| b

##matches a or b

(re)

##G matches the expression within the brackets , also represents a group

##(?imx)

Regular expressions contain three optional flags: i, m, or x. Only affects the area in brackets.

##(?-imx)

Regular expression turns off the i, m, or x optional flags. Only affects the area in brackets.

(?: re)

Similar to (...), but does not represent a group

# #(?imx: re)

Use i, m, or x optional flags in parentheses

##(?-imx: re)

Do not use i, m, or x optional flags in parentheses

##Forward positive delimiter. Succeeds if the contained regular expression, represented by ... , successfully matches the current position, otherwise it fails. But once the contained expression has been tried, the matching engine doesn't improve at all; the remainder of the pattern still has to try the right side of the delimiter.

Forward negative delimiter. Opposite of positive delimiter; succeeds when the contained expression cannot be matched at the current position in the string

Matching independent pattern, eliminating backtracking.

##\w

Matches letters, numbers and underscores, equivalent to '[A-Za-z0-9_]'.

##\W

Matches non-alphanumeric characters and underscores, equivalent to '[^A-Za-z0-9_]'.

##\s

Matches any whitespace character, equivalent to [\t\n\r\f].

\S

matches any non-empty character, equivalent to [^ \f\n\r\t \v].

matches any non-number, equivalent to [^0-9].

Matches the beginning of the string

##\Z

# Matches the end of the string. If there is a newline, only the end of the string before the newline is matched. c

##\z

##match string End

\G

Match the position where the last match is completed.

#\b

Matches a word boundary, which refers to the position between a word and a space. For example, 'er\b' matches 'er' in "never" but not in "verb".

## Match non-word boundaries. 'er\B' matches 'er' in "verb", but not in "never".

Matches a newline character. Matches a tab character. Wait

##\1...\9

Matches the content of the nth group.

#\10

Match the content of the nth group if it is matched. Otherwise it refers to the expression of the octal character code.

The above is the detailed content of Detailed explanation of python regular expressions. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
What are some common reasons why a Python script might not execute on Unix?What are some common reasons why a Python script might not execute on Unix?Apr 28, 2025 am 12:18 AM

The reasons why Python scripts cannot run on Unix systems include: 1) Insufficient permissions, using chmod xyour_script.py to grant execution permissions; 2) Shebang line is incorrect or missing, you should use #!/usr/bin/envpython; 3) The environment variables are not set properly, and you can print os.environ debugging; 4) Using the wrong Python version, you can specify the version on the Shebang line or the command line; 5) Dependency problems, using virtual environment to isolate dependencies; 6) Syntax errors, using python-mpy_compileyour_script.py to detect.

Give an example of a scenario where using a Python array would be more appropriate than using a list.Give an example of a scenario where using a Python array would be more appropriate than using a list.Apr 28, 2025 am 12:15 AM

Using Python arrays is more suitable for processing large amounts of numerical data than lists. 1) Arrays save more memory, 2) Arrays are faster to operate by numerical values, 3) Arrays force type consistency, 4) Arrays are compatible with C arrays, but are not as flexible and convenient as lists.

What are the performance implications of using lists versus arrays in Python?What are the performance implications of using lists versus arrays in Python?Apr 28, 2025 am 12:10 AM

Listsare Better ForeflexibilityandMixdatatatypes, Whilearraysares Superior Sumerical Computation Sand Larged Datasets.1) Unselable List Xibility, MixedDatatypes, andfrequent elementchanges.2) Usarray's sensory -sensical operations, Largedatasets, AndwhenMemoryEfficiency

How does NumPy handle memory management for large arrays?How does NumPy handle memory management for large arrays?Apr 28, 2025 am 12:07 AM

NumPymanagesmemoryforlargearraysefficientlyusingviews,copies,andmemory-mappedfiles.1)Viewsallowslicingwithoutcopying,directlymodifyingtheoriginalarray.2)Copiescanbecreatedwiththecopy()methodforpreservingdata.3)Memory-mappedfileshandlemassivedatasetsb

Which requires importing a module: lists or arrays?Which requires importing a module: lists or arrays?Apr 28, 2025 am 12:06 AM

ListsinPythondonotrequireimportingamodule,whilearraysfromthearraymoduledoneedanimport.1)Listsarebuilt-in,versatile,andcanholdmixeddatatypes.2)Arraysaremorememory-efficientfornumericdatabutlessflexible,requiringallelementstobeofthesametype.

What data types can be stored in a Python array?What data types can be stored in a Python array?Apr 27, 2025 am 12:11 AM

Pythonlistscanstoreanydatatype,arraymodulearraysstoreonetype,andNumPyarraysarefornumericalcomputations.1)Listsareversatilebutlessmemory-efficient.2)Arraymodulearraysarememory-efficientforhomogeneousdata.3)NumPyarraysareoptimizedforperformanceinscient

What happens if you try to store a value of the wrong data type in a Python array?What happens if you try to store a value of the wrong data type in a Python array?Apr 27, 2025 am 12:10 AM

WhenyouattempttostoreavalueofthewrongdatatypeinaPythonarray,you'llencounteraTypeError.Thisisduetothearraymodule'sstricttypeenforcement,whichrequiresallelementstobeofthesametypeasspecifiedbythetypecode.Forperformancereasons,arraysaremoreefficientthanl

Which is part of the Python standard library: lists or arrays?Which is part of the Python standard library: lists or arrays?Apr 27, 2025 am 12:03 AM

Pythonlistsarepartofthestandardlibrary,whilearraysarenot.Listsarebuilt-in,versatile,andusedforstoringcollections,whereasarraysareprovidedbythearraymoduleandlesscommonlyusedduetolimitedfunctionality.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)