Detailed explanation of re regular module in python
1. Common symbols of regular expressions
'.' 默认匹配除\n之外的任意一个字符,若指定flag DOTALL,则匹配任意字符,包括换行 '^' 匹配字符开头,若指定flags MULTILINE,这种也可以匹配上(r"^a","\nabc\neee",flags=re.MULTILINE) '$' 匹配字符结尾,或e.search("foo$","bfoo\nsdfsf",flags=re.MULTILINE).group()也可以 '*' 匹配*号前的字符0次或多次,re.findall("ab*","cabb3abcbbac") 结果为['abb', 'ab', 'a'] '+' 匹配前一个字符1次或多次,re.findall("ab+","ab+cd+abb+bba") 结果['ab', 'abb'] '?' 匹配前一个字符1次或0次 '{m}' 匹配前一个字符m次 '{n,m}' 匹配前一个字符n到m次,re.findall("ab{1,3}","abb abc abbcbbb") 结果'abb', 'ab', 'abb'] '|' 匹配|左或|右的字符,re.search("abc|ABC","ABCBabcCD").group() 结果'ABC' '(...)' 分组匹配,re.search("(abc){2}a(123|456)c", "abcabca456c").group() 结果 abcabca456c '\A' 只从字符开头匹配,re.search("\Aabc","alexabc") 是匹配不到的 '\Z' 匹配字符结尾,同$ '\d' 匹配数字0-9 '\D' 匹配非数字 '\w' 匹配[A-Za-z0-9] '\W' 匹配非[A-Za-z0-9] 's' 匹配空白字符、\t、\n、\r , re.search("\s+","ab\tc1\n3").group() 结果 '\t'
2. Common syntax
2.1 re.match matches from scratch
re.mathch(pattern,string,flags)
The first parameter is the regular expression Formula, here is "(\w+)\s", if the match is successful, a Match is returned, otherwise a None is returned;
The second parameter represents the string to be matched;
The third parameter is the Peugeot bit, which is used to control the matching method of the regular expression, such as: whether it is case-sensitive, multi-line matching, etc.
#匹配开头成功 >>> a=re.match("i",'inet 172.17.0.1 netmask 255.255.0.0 broadcast 0.0.0.0') >>> a.group() 'i' # 匹配开头失败 >>> a=re.match("n",'inet 172.17.0.1 netmask 255.255.0.0 broadcast 0.0.0.0') >>> a.group() Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'NoneType' object has no attribute 'group' >>> print(a) None #\w匹配 (不匹配特殊字符 空格等) >>> a=re.match("\w{4,10}",'inet 172.17.0.1 netmask 255.255.0.0 broadcast 0.0.0.0') >>> a.group() 'inet'
2.2 re.search
The re.search function will search for pattern matching within the string, only Returns the first match found, or None if the string does not match.
>>> a=re.search("\d+","sd234345resss") >>> a.group() '234345'
2.3 group and groups
>>> a=re.search("([a-z]*)(\d+)([a-z]*)","sd234345resss").group() >>> a 'sd234345resss' >>> a=re.search("([a-z]*)(\d+)([a-z]*)","sd234345resss").group(0) >>> a 'sd234345resss' >>> a=re.search("([a-z]*)(\d+)([a-z]*)","sd234345resss").group(1) >>> a 'sd' >>> a=re.search("([a-z]*)(\d+)([a-z]*)","sd234345resss").group(2) >>> a '234345' >>> a=re.search("([a-z]*)(\d+)([a-z]*)","sd234345resss").group(3) >>> a 'resss' >>> a=re.search("([a-z]*)(\d+)([a-z]*)","sd234345resss").groups() >>> a ('sd', '234345', 'resss')
2.4 re.findall(pattern,string,flags=0)
The above two methods are used to match single values, that is: they can only match strings One of them, if you want to match all elements in the string that meet the conditions, you need to use findall.
>>> a=re.findall("\d+","sd234/34*5resss") >>> a ['234', '34', '5']
2.5 re.sub(pattern,repl,string,count=0,flags=0)
Replace the matched string
>>> s="123abc456" >>> a=re.sub("\d+","SUB",s) >>> a 'SUBabcSUB'
More powerful than str.replace
2.6 re.split(pattern, string, maxsplit=0, flags=0)
Group according to the specified match
s="123aaa345bbb789ccc" >>> a=re.split("[a-z]*",s) >>> a ['123', '345', '789', ''] >>> a=re.split("[a-z]*",s,1) >>> a ['123', '345bbb789ccc'] >>> a=re.split("[a-z]*",s,2) >>> a ['123', '345', '789ccc']
The above is the detailed content of Detailed explanation of re regular module in python. For more information, please follow other related articles on the PHP Chinese website!

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

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

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

Hot Topics


![WLAN expansion module has stopped [fix]](https://img.php.cn/upload/article/000/465/014/170832352052603.gif?x-oss-process=image/resize,m_fill,h_207,w_330)
If there is a problem with the WLAN expansion module on your Windows computer, it may cause you to be disconnected from the Internet. This situation is often frustrating, but fortunately, this article provides some simple suggestions that can help you solve this problem and get your wireless connection working properly again. Fix WLAN Extensibility Module Has Stopped If the WLAN Extensibility Module has stopped working on your Windows computer, follow these suggestions to fix it: Run the Network and Internet Troubleshooter to disable and re-enable wireless network connections Restart the WLAN Autoconfiguration Service Modify Power Options Modify Advanced Power Settings Reinstall Network Adapter Driver Run Some Network Commands Now, let’s look at it in detail

This article details methods to resolve event ID10000, which indicates that the Wireless LAN expansion module cannot start. This error may appear in the event log of Windows 11/10 PC. The WLAN extensibility module is a component of Windows that allows independent hardware vendors (IHVs) and independent software vendors (ISVs) to provide users with customized wireless network features and functionality. It extends the capabilities of native Windows network components by adding Windows default functionality. The WLAN extensibility module is started as part of initialization when the operating system loads network components. If the Wireless LAN Expansion Module encounters a problem and cannot start, you may see an error message in the event viewer log.

1. Introduction to the sys module The os module introduced earlier is mainly for the operating system, while the sys module in this article is mainly for the Python interpreter. The sys module is a module that comes with Python. It is an interface for interacting with the Python interpreter. The sys module provides many functions and variables to deal with different parts of the Python runtime environment. 2. Commonly used methods of the sys module. You can check which methods are included in the sys module through the dir() method: import sys print(dir(sys))1.sys.argv-Get the command line parameters sys.argv is used to implement the command from outside the program. The program is passed parameters and it is able to obtain the command line parameter column

Preface This article continues to introduce the Python collection module. This time it mainly introduces the named tuples in it, that is, the use of namedtuple. Without further ado, let’s get started – remember to like, follow and forward~ ^_^Creating named tuples The named tuple class namedTuples in the Python collection gives meaning to each position in the tuple and enhances the readability of the code Sexual and descriptive. They can be used anywhere regular tuples are used, and add the ability to access fields by name rather than positional index. It comes from the Python built-in module collections. The general syntax used is: import collections XxNamedT

Hello, my name is somenzz, you can call me Brother Zheng. Python's import is very intuitive, but even so, sometimes you will find that even though the package is there, we will still encounter ModuleNotFoundError. Obviously the relative path is very correct, but the error ImportError:attemptedrelativeimportwithnoknownparentpackage imports a module in the same directory and a different one. The modules of the directory are completely different. This article helps you easily handle the import by analyzing some problems often encountered when using import. Based on this, you can easily create attributes.

PHP regular expressions are a powerful tool for text processing and conversion. It can effectively manage text information by parsing text content and replacing or intercepting it according to specific patterns. Among them, a common application of regular expressions is to replace strings starting with specific characters. We will explain this as follows

Golang regular expressions use the pipe character | to match multiple words or strings, separating each option as a logical OR expression. For example: matches "fox" or "dog": fox|dog matches "quick", "brown" or "lazy": (quick|brown|lazy) matches "Go", "Python" or "Java": Go|Python |Java matches words or 4-digit zip codes: ([a-zA

All data are automatically assigned a "DOB" (Date of Birth) at the beginning. Therefore, it is inevitable to encounter date and time data when processing data at some point. This tutorial will take you through the datetime module in Python and using some peripheral libraries such as pandas and pytz. In Python, anything related to date and time is handled by the datetime module, which further divides the module into 5 different classes. Classes are simply data types that correspond to objects. The following figure summarizes the 5 datetime classes in Python along with commonly used attributes and examples. 3 useful snippets 1. Convert string to datetime format, maybe using datet
