亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

正則表達式在python中查找部分匹配的特殊字符

正則表達式在python中查找部分匹配的特殊字符

冉冉說 2022-05-24 13:23:58
我有一些字符串,想匹配字符串中的特殊字符(@@,$$,><,...,^),a='aaa@@aa;aa$$aaa;aa><aaa;aa....aaa;aaa^aa'match=re.findall('@@|$$|><|....|^', a)print(match)我想要以下o/p:@@$$><....^Python正則表達式
查看完整描述

3 回答

?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

您的問題實際上只是一個錯字,因為您忘記轉義像$and之類的正則表達式元字符^。但是,我建議另一種方法re.split:


a = 'aaa@@aa;aa$$aaa;aa><aaa;aa....aaa;aaa^aa'

parts = re.split(r'[^@$<>\^]+', a)[1:-1]

print(parts)

這里的想法是將字符串拆分為除您要保留的字符之外的任何字符簇。上面的腳本打?。?/p>


['@@', '$$', '><', '^']


查看完整回答
反對 回復 2022-05-24
?
天涯盡頭無女友

TA貢獻1831條經驗 獲得超9個贊

您可以嘗試以下方法:


>>> a='aaa@@aa;aa$$aaa;aa><aaa;aa....aaa;aaa^aa'

>>> match=re.findall('@{2}|[$]{2}|><|[.]{4}|\^', a)

>>> match

['@@', '$$', '><', '....', '^']

編輯:當您將特殊字符括在括號內時,它失去了意義,例如,[.]將匹配該.字符。


查看完整回答
反對 回復 2022-05-24
?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

您的表達似乎很好,缺少一些東西:


import re


string = """

aaa@@aa;aa$$aaa;aa><aaa;aa....aaa;aaa^aa

aaa@&@aa;aa$&$aaa;aa<>aaa;aa...aaa;aaaaa


"""


expression = r'@@|\$\$|><|\^|\.\.\.\.'

matches = re.findall(expression, string)


print(matches)

輸出

['@@', '$$', '><', '....', '^']


查看完整回答
反對 回復 2022-05-24
  • 3 回答
  • 0 關注
  • 264 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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