Python Regular Expression

本文深入探讨了Python中正则表达式的使用,包括如何匹配字符串的开始、结束、任意字符、空白字符等,并通过实例展示了贪婪与非贪婪匹配的区别。文章详细解析了正则表达式的各种符号及其作用,以及如何在实际编程中灵活运用这些知识解决复杂问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Regular expression in Python

 

^

Matches the beginning of a line

$

Matches the end of the line

.

Matches any character

\s

matches whitespace

\S

matches any non-whitespace

*

repeats a character 0 or more times

*?

repeats a character 0 or more times(non-greedy)

+

repeats a character 1 or more times

+?

repeats a character 1 or more times(non-greedy)

[aeiou]

matches a single character in the listed set

[^XYZ]

matches a single character not in the listed set

[a-z0-9]

the set of characters can include a range

(

indicates where string extraction is to start

)

indicates where string extraction is to end

 

Greedy Matching

import re

x='From: Using the :character'

y=re.findall('^F.+:', x)

print (y)

Output:

['From: Using the :']

 

import re

x='From: Using the :character'

y=re.findall('^F.*:', x)

print (y)

Output:

['From: Using the :']

 

NON-Greedy Matching

import re

x='From: Using the :character'

y=re.findall('^F.+?:', x)

print (y)

Output:

['From:']

 

import re

x='From: Using the :character'

y=re.findall('^F.*:', x)

print (y)

Output:

['From:']

 

说明:在字符串'From:Using the :character' 中, 有两个: 号存在。 当要匹配以F开头,以: 号结尾的字符串时,GreedyMatching 会以Greedy 为原则找到尽可能长的匹配字符串。 而NON-Greedy Matching 不会像Greedy 那样去找尽可能长的串。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值