Movatterモバイル変換


[0]ホーム

URL:


Menu
×
Sign In
+1 Get Certified For Teachers Spaces Plus Get Certified For Teachers Spaces Plus
   ❮     
     ❯   

Python Tutorial

Python HOMEPython IntroPython Get StartedPython SyntaxPython CommentsPython VariablesPython Data TypesPython NumbersPython CastingPython StringsPython BooleansPython OperatorsPython ListsPython TuplesPython SetsPython DictionariesPython If...ElsePython MatchPython While LoopsPython For LoopsPython FunctionsPython LambdaPython ArraysPython OOPPython Classes/ObjectsPython InheritancePython IteratorsPython PolymorphismPython ScopePython ModulesPython DatesPython MathPython JSONPython RegExPython PIPPython Try...ExceptPython String FormattingPython User InputPython VirtualEnv

File Handling

Python File HandlingPython Read FilesPython Write/Create FilesPython Delete Files

Python Modules

NumPy TutorialPandas TutorialSciPy TutorialDjango Tutorial

Python Matplotlib

Matplotlib IntroMatplotlib Get StartedMatplotlib PyplotMatplotlib PlottingMatplotlib MarkersMatplotlib LineMatplotlib LabelsMatplotlib GridMatplotlib SubplotMatplotlib ScatterMatplotlib BarsMatplotlib HistogramsMatplotlib Pie Charts

Machine Learning

Getting StartedMean Median ModeStandard DeviationPercentileData DistributionNormal Data DistributionScatter PlotLinear RegressionPolynomial RegressionMultiple RegressionScaleTrain/TestDecision TreeConfusion MatrixHierarchical ClusteringLogistic RegressionGrid SearchCategorical DataK-meansBootstrap AggregationCross ValidationAUC - ROC CurveK-nearest neighbors

Python DSA

Python DSALists and ArraysStacksQueuesLinked ListsHash TablesTreesBinary TreesBinary Search TreesAVL TreesGraphsLinear SearchBinary SearchBubble SortSelection SortInsertion SortQuick SortCounting SortRadix SortMerge Sort

Python MySQL

MySQL Get StartedMySQL Create DatabaseMySQL Create TableMySQL InsertMySQL SelectMySQL WhereMySQL Order ByMySQL DeleteMySQL Drop TableMySQL UpdateMySQL LimitMySQL Join

Python MongoDB

MongoDB Get StartedMongoDB Create DBMongoDB CollectionMongoDB InsertMongoDB FindMongoDB QueryMongoDB SortMongoDB DeleteMongoDB Drop CollectionMongoDB UpdateMongoDB Limit

Python Reference

Python OverviewPython Built-in FunctionsPython String MethodsPython List MethodsPython Dictionary MethodsPython Tuple MethodsPython Set MethodsPython File MethodsPython KeywordsPython ExceptionsPython Glossary

Module Reference

Random ModuleRequests ModuleStatistics ModuleMath ModulecMath Module

Python How To

Remove List DuplicatesReverse a StringAdd Two Numbers

Python Examples

Python ExamplesPython CompilerPython ExercisesPython QuizPython ServerPython SyllabusPython Study PlanPython Interview Q&APython BootcampPython CertificatePython Training

PythonRegEx


A RegEx, or Regular Expression, is a sequence of characters that forms a search pattern.

RegEx can be used to check if a string contains the specified search pattern.


RegEx Module

Python has a built-in package calledre, which can be used to work with Regular Expressions.

Import there module:

import re

RegEx in Python

When you have imported there module, you can start using regular expressions:

Example

Search the string to see if it starts with "The" and ends with "Spain":

import re

txt = "The rain in Spain"
x = re.search("^The.*Spain$", txt)
Try it Yourself »

RegEx Functions

There module offers a set of functions that allows us to search a string for a match:

FunctionDescription
findallReturns a list containing all matches
searchReturns aMatch object if there is a match anywhere in the string
splitReturns a list where the string has been split at each match
subReplaces one or many matches with a string


Metacharacters

Metacharacters are characters with a special meaning:

CharacterDescriptionExampleTry it
[]A set of characters"[a-m]"Try it »
\Signals a special sequence (can also be used to escape special characters)"\d"Try it »
.Any character (except newline character)"he..o"Try it »
^Starts with"^hello"Try it »
$Ends with"planet$"Try it »
*Zero or more occurrences"he.*o"Try it »
+One or more occurrences"he.+o"Try it »
?Zero or one occurrences"he.?o"Try it »
{}Exactly the specified number of occurrences"he.{2}o"Try it »
|Either or"falls|stays"Try it »
()Capture and group  

Flags

You can add flags to the pattern when using regular expressions.

FlagShorthandDescriptionTry it
re.ASCIIre.AReturns only ASCII matchesTry it »
re.DEBUGReturns debug informationTry it »
re.DOTALLre.SMakes the . character match all characters (including newline character)Try it »
re.IGNORECASEre.ICase-insensitive matchingTry it »
re.MULTILINEre.MReturns only matches at the beginning of each lineTry it »
re.NOFLAGSpecifies that no flag is set for this pattern
re.UNICODEre.UReturns Unicode matches. This is default from Python 3. For Python 2: use this flag to return only Unicode matchesTry it »
re.VERBOSEre.XAllows whitespaces and comments inside patterns. Makes the pattern more readableTry it »

Special Sequences

A special sequence is a\ followed by one of the characters in the list below, and has a special meaning:

CharacterDescriptionExampleTry it
\AReturns a match if the specified characters are at the beginning of the string"\AThe"Try it »
\bReturns a match where the specified characters are at the beginning or at the end of a word
(the "r" in the beginning is making sure that the string is being treated as a "raw string")
r"\bain"

r"ain\b"
Try it »

Try it »
\BReturns a match where the specified characters are present, but NOT at the beginning (or at the end) of a word
(the "r" in the beginning is making sure that the string is being treated as a "raw string")
r"\Bain"

r"ain\B"
Try it »

Try it »
\dReturns a match where the string contains digits (numbers from 0-9)"\d"Try it »
\DReturns a match where the string DOES NOT contain digits"\D"Try it »
\sReturns a match where the string contains a white space character"\s"Try it »
\SReturns a match where the string DOES NOT contain a white space character"\S"Try it »
\wReturns a match where the string contains any word characters (characters from a to Z, digits from 0-9, and the underscore _ character)"\w"Try it »
\WReturns a match where the string DOES NOT contain any word characters"\W"Try it »
\ZReturns a match if the specified characters are at the end of the string"Spain\Z"Try it »

Sets

A set is a set of characters inside a pair of square brackets[] with a special meaning:

SetDescriptionTry it
[arn]Returns a match where one of the specified characters (a,r, orn) is presentTry it »
[a-n]Returns a match for any lower case character, alphabetically betweena andnTry it »
[^arn]Returns a match for any character EXCEPTa,r, andnTry it »
[0123]Returns a match where any of the specified digits (0,1,2, or3) are presentTry it »
[0-9]Returns a match for any digit between0 and9Try it »
[0-5][0-9]Returns a match for any two-digit numbers from00 and59Try it »
[a-zA-Z]Returns a match for any character alphabetically betweena andz, lower case OR upper caseTry it »
[+]In sets,+,*,.,|,(),$,{} has no special meaning, so[+] means: return a match for any+ character in the stringTry it »

The findall() Function

Thefindall() function returns a list containing all matches.

Example

Print a list of all matches:

import re

txt = "The rain in Spain"
x = re.findall("ai", txt)
print(x)
Try it Yourself »

The list contains the matches in the order they are found.

If no matches are found, an empty list is returned:

Example

Return an empty list if no match was found:

import re

txt = "The rain in Spain"
x = re.findall("Portugal", txt)
print(x)
Try it Yourself »

The search() Function

Thesearch() function searches the string for a match, and returns aMatch object if there is a match.

If there is more than one match, only the first occurrence of the match will be returned:

Example

Search for the first white-space character in the string:

import re

txt = "The rain in Spain"
x = re.search("\s", txt)

print("The first white-space character is located in position:", x.start())
Try it Yourself »

If no matches are found, the valueNone is returned:


Example

Make a search that returns no match:

import re

txt = "The rain in Spain"
x = re.search("Portugal", txt)
print(x)
Try it Yourself »

The split() Function

Thesplit() function returns a list where the string has been split at each match:

Example

Split at each white-space character:

import re

txt = "The rain in Spain"
x = re.split("\s", txt)
print(x)
Try it Yourself »

You can control the number of occurrences by specifying themaxsplit parameter:

Example

Split the string only at the first occurrence:

import re

txt = "The rain in Spain"
x = re.split("\s", txt, 1)
print(x)
Try it Yourself »

The sub() Function

Thesub() function replaces the matches with the text of your choice:

Example

Replace every white-space character with the number 9:

import re

txt = "The rain in Spain"
x = re.sub("\s", "9", txt)
print(x)
Try it Yourself »

You can control the number of replacements by specifying thecount parameter:

Example

Replace the first 2 occurrences:

import re

txt = "The rain in Spain"
x = re.sub("\s", "9", txt, 2)
print(x)
Try it Yourself »

Match Object

A Match Object is an object containing information about the search and the result.

Note: If there is no match, the valueNone will be returned, instead of the Match Object.

Example

Do a search that will return a Match Object:

import re

txt = "The rain in Spain"
x = re.search("ai", txt)
print(x) #this will print an object
Try it Yourself »

The Match object has properties and methods used to retrieve information about the search, and the result:

.span() returns a tuple containing the start-, and end positions of the match.
.string returns the string passed into the function
.group() returns the part of the string where there was a match

Example

Print the position (start- and end-position) of the first match occurrence.

The regular expression looks for any words that starts with an upper case "S":

import re

txt = "The rain in Spain"
x = re.search(r"\bS\w+", txt)
print(x.span())
Try it Yourself »

Example

Print the string passed into the function:

import re

txt = "The rain in Spain"
x = re.search(r"\bS\w+", txt)
print(x.string)
Try it Yourself »

Example

Print the part of the string where there was a match.

The regular expression looks for any words that starts with an upper case "S":

import re

txt = "The rain in Spain"
x = re.search(r"\bS\w+", txt)
print(x.group())
Try it Yourself »

Note: If there is no match, the valueNone will be returned, instead of the Match Object.



 
Track your progress - it's free!
 

×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
sales@w3schools.com

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
help@w3schools.com

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning.
Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness
of all content. While using W3Schools, you agree to have read and accepted ourterms of use,cookie and privacy policy.

Copyright 1999-2025 by Refsnes Data. All Rights Reserved.W3Schools is Powered by W3.CSS.


[8]ページ先頭

©2009-2025 Movatter.jp