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
## 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!

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.

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.

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

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

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

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

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

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


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

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

Hot Article

Hot Tools

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 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 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
The most popular open source editor

SublimeText3 Mac version
God-level code editing software (SublimeText3)
