當前位置:首頁 » 編程語言 » python正則group

python正則group

發布時間: 2022-09-11 00:29:31

python中正則問題


r'(.*) are (.*?) .*'

首先,這是一個字元串,前面的一個r表示字元串為非轉義的原始字元串,讓編譯器忽略反斜杠,也就是忽略轉義字元。但是這個字元串里沒有反斜杠,所以這個r可有可無。


  1. (.*) 第一個匹配分組,.*代表匹配除換行符之外的所有字元

  2. (.*?)第二個匹配分組,.*?後面多個問號,代表非貪婪模式,也就是說只匹配符合條件的最少字元

  3. 後面的一個.* 沒有括弧包圍,所以不是分組,匹配效果和第一個一樣,但是不計入匹配結果中。


matchObj.group() 等同於matchObj.group(0),表示匹配到的完整文本字元

matchObj.group(1) 得到第一組匹配結果,也就是(.*)匹配到的

matchObj.group(2) 得到第二組匹配結果,也就是(.*?)匹配到的


因為只有匹配結果中只有兩組,所以填3時會報錯。






❷ Python 正則匹配為什麼group(1)返回為空,group(2)返回為none

你的正則從a字元串提取不到任何信息,自然列印就空白了。

❸ python 正則表達式 groups和group有什麼區別

group和groups是兩個不同的函數。

一般,m.group(N) 返回第N組括弧匹配的字元。
而m.group() == m.group(0) == 所有匹配的字元,與括弧無關,這個是API規定的。

m.groups() 返回所有括弧匹配的字元,以tuple格式。
m.groups() == (m.group(0), m.group(1), ...)

對你給的例子:

m = re.match("([abc])+", "abc")
你的+號在括弧外面。括弧最多匹配到一個字元,要麼是a, 要麼是c,這個python引擎匹配的是末尾的c。
而m.group() == m.group(0) 這個返回的是整個匹配的字元串"abc".

關於捕獲型括弧在正則表達式里的用法,參見相關文檔。

❹ python 正則表達式 groups和group有什麼區別

group和groups是兩個不同的函數。
一般,m.group(N)
返回第N組括弧匹配的字元。
而m.group()
==
m.group(0)
==
所有匹配的字元,與括弧無關,這個是API規定的。
m.groups()
返回所有括弧匹配的字元,以tuple格式。
m.groups()
==
(m.group(0),
m.group(1),
...)

你給的
例子:
m
=
re.match("([abc])+",
"abc")
你的+號在括弧外面。括弧最多匹配到一個字元,要麼是a,
要麼是c,這個python引擎匹配的是末尾的c。
而m.group()
==
m.group(0)
這個返回的是整個匹配的字元串"abc".
關於捕獲型括弧在
正則表達式
里的用法,參見相關文檔。

❺ python 正則表達式 groups和group有什麼區別

group和groups是兩個不同的函數。

一般,m.group(N) 返回第N組括弧匹配的字元。
而m.group() == m.group(0) == 所有匹配的字元,與括弧無關,這個是API規定的。

m.groups() 返回所有括弧匹配的字元,以tuple格式。
m.groups() == (m.group(0), m.group(1), ...)

對你給的例子:

m = re.match("([abc])+", "abc")
你的+號在括弧外面。括弧最多匹配到一個字元,要麼是a, 要麼是c,這個python引擎匹配的是末尾的c。
而m.group() == m.group(0) 這個返回的是整個匹配的字元串"abc".

❻ 關於python正則匹配的問題

使用pat.findall
匹配整個字元串,多次匹配
使用pat.search
整個字元串中匹配,只匹配一次
使用pat.match
從第一個字元開始匹配,只匹配一次
但是使用search和match必須使用group()來查看
即:你可以這樣
result
=
pat.search(buff)
result.group()
#這個就是你相匹配的東西,只匹配一次

❼ python正則表達式groups和group有什麼區別

group和groups是兩個不同的函數。
一般,m.group(N)
返回第N組括弧匹配的字元。
而m.group()
==
m.group(0)
==
所有匹配的字元,與括弧無關,這個是API規定的。
m.groups()
返回所有括弧匹配的字元,以tuple格式。
m.groups()
==
(m.group(0),
m.group(1),
...)
對你給的例子:
m
=
re.match("([abc])+",
"abc")
你的+號在括弧外面。括弧最多匹配到一個字元,要麼是a,
要麼是c,這個python引擎匹配的是末尾的c。
而m.group()
==
m.group(0)
這個返回的是整個匹配的字元串"abc".
關於捕獲型括弧在正則表達式里的用法,參見相關文檔。

❽ python 正則表達式

按照你的要求編寫的程序如下

importre

s='[有效信息]ab[abd]ab[abe]ab[abf]'

regex=r'[有效信息](ab[[a-z]+])+'

result=re.match(regex,s)

ifresult:

print(result.group())

else:

print("NoMatch!")

源代碼(注意源代碼的縮進)

❾ python 正則表達式 groups和group有什麼區別

group和groups是兩個不同的函數。

一般,m.group(N) 返回第N組括弧匹配的字元。
而m.group() == m.group(0) == 所有匹配的字元,與括弧無關,這個是API規定的。

m.groups() 返回所有括弧匹配的字元,以tuple格式。
m.groups() == (m.group(0), m.group(1), ...)

正則表達式中,group()用來提取分組截獲的字元串,()用來分組。

組是通過 "(" 和 ")" 元字元來標識的。 "(" 和 ")" 有很多在數學表達式中相同的意思;它們一起把在它們裡面的表達式組成一組。舉個例子,你可以用重復限制符,象 *, +,?, 和 {m,n},來重復組里的內容,比如說(ab)* 將匹配零或更多個重復的 "ab"。

如果不引入括弧,整個個表達式作為一個組,是group(0)



對於題目中的例子:

m = re.match("([abc])+", "abc")
+號在括弧外面。括弧最多匹配到一個字元,要麼是a, 要麼是c,這個python引擎匹配的是末尾的c。
而m.group() == m.group(0) 這個返回的是整個匹配的字元串"abc".

❿ Python正則表達式的幾種匹配方法

1.測試正則表達式是否匹配字元串的全部或部分
regex=ur"" #正則表達式
if re.search(regex, subject):
do_something()
else:
do_anotherthing()

2.測試正則表達式是否匹配整個字元串

regex=ur"/Z" #正則表達式末尾以/Z結束
if re.match(regex, subject):
do_something()
else:
do_anotherthing()

3.創建一個匹配對象,然後通過該對象獲得匹配細節(Create an object with details about how the regex matches (part of) a string)

regex=ur"" #正則表達式
match = re.search(regex, subject)
if match:
# match start: match.start()
# match end (exclusive): atch.end()
# matched text: match.group()
do_something()
else:
do_anotherthing()

4.獲取正則表達式所匹配的子串(Get the part of a string matched by the regex)

regex=ur"" #正則表達式
match = re.search(regex, subject)
if match:
result = match.group()
else:
result = ""

熱點內容
mc伺服器搭建搜不到 發布:2025-01-12 17:57:37 瀏覽:16
手機手勢密碼忘了怎麼辦 發布:2025-01-12 17:14:51 瀏覽:486
這手機配置有什麼顏色的電視機 發布:2025-01-12 17:02:19 瀏覽:933
閣源碼 發布:2025-01-12 16:48:08 瀏覽:131
組裝機箱搭建伺服器 發布:2025-01-12 16:46:58 瀏覽:512
風險資產配置理論有哪些 發布:2025-01-12 16:46:13 瀏覽:982
小程序分銷源碼 發布:2025-01-12 16:42:41 瀏覽:48
linux查看系統硬體 發布:2025-01-12 16:34:26 瀏覽:969
安卓手機怎麼設置獨享標志 發布:2025-01-12 16:27:56 瀏覽:933
我的世界如何把材質包放進伺服器 發布:2025-01-12 16:11:14 瀏覽:57