第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

正則表達式在Python條件之前查找特定字母

正則表達式在Python條件之前查找特定字母

哆啦的時光機 2023-10-06 19:27:36
我只想找到后面跟著三個 A 的所有字符(A 除外),即右側有 AAA。我不想在輸出中包含三個 A,只想在 AAA 之前包含字符result = []s = 'ACAABAACAAABACDBADDDFSDDDFFSSSASDAFAAACBAAAFASD'pattern = "r'(\w[BF])(?!AAA)'"for item in re.finditer(pattern, s):    result.append(item.group())  print(result)我使用了這個模式 r'(\w[BF])(?!AAA)' 但沒有用我只需要在 [] 中找到這些字母'ACAABAA[C]AAABACDBADDDFSDDDFFSSSASDA[F]AAAC[B]AAAFASD'
查看完整描述

3 回答

?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

在您的示例中,您想要匹配三元組 A 左側的單個字符。使用\w[BF]至少匹配 2 個字符,其中 1 個單詞字符后跟BF

負向先行斷言直接位于右側的不是 A,但您想要相反的結果。

您可以匹配單個 BZ 并斷言直接位于右側的內容是 AAA

[B-Z](?=AAA)

正則表達式演示Python演示

import re

result = []


s = 'ACAABAACAAABACDBADDDFSDDDFFSSSASDAFAAACBAAAFASD'

pattern = r'[B-Z](?=AAA)'


for item in re.finditer(pattern, s):

    result.append(item.group())


print(result)

輸出


['C', 'F', 'B']

您還可以使用re.findall

import re


s = 'ACAABAACAAABACDBADDDFSDDDFFSSSASDAFAAACBAAAFASD'

pattern = r'[B-Z](?=AAA)'

result = re.findall(pattern, s)


print(result)

Python演示


查看完整回答
反對 回復 2023-10-06
?
慕后森

TA貢獻1802條經驗 獲得超5個贊

[^A](?=A{3})
這里我使用正向前瞻。

查看完整回答
反對 回復 2023-10-06
?
吃雞游戲

TA貢獻1829條經驗 獲得超7個贊

這是您的問題的解決方案:

 pattern = "([B-Z]{1})(A{3})"
 for item in re.finditer(pattern, s):
     result.append(item.group(1))


查看完整回答
反對 回復 2023-10-06
  • 3 回答
  • 0 關注
  • 205 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號