我新手,Python和我試圖從另一個字符串與特定格式的字符串,例如:提取字符串特定的格式
我有原始的字符串: -
[email protected]$_ABC1234-XX12X
我需要精確提取字符串ABC1234
(必須包含三個首字符,後跟四個數字)。
我新手,Python和我試圖從另一個字符串與特定格式的字符串,例如:提取字符串特定的格式
我有原始的字符串: -
[email protected]$_ABC1234-XX12X
我需要精確提取字符串ABC1234
(必須包含三個首字符,後跟四個數字)。
您可以使用re
模塊在Python
matcher = re.search((?P<matched_string>[a-zA-Z]{3}\d{4}))
needed_string = matcher.groupdict()['matched_string']
needed_string
將是您所需的輸出。
非常感謝你 – loveclassic
可以使用大括號repetition qualifiers{}
以匹配3個字母和恰好四個數字字符:
>>> from re import search
>>>
>>> string = '[email protected]$_ABC1234-XX12X'
>>> match = search('[a-zA-Z]{3}\d{4}', string)
>>> match
<_sre.SRE_Match object; span=(6, 13), match='ABC1234'>
>>> match.group(0) # Use this to get the string that was matched.
'ABC1234'
正則表達式的說明:
[a-zA-Z]
:匹配任何小寫字母的大寫字母......{3}
:正好三次。並且...\d
:任何數字字符...{4}
正好四次。非常感謝。我沒有得到它與正則表達式 – loveclassic
如果你現在字符串的精確座標,你可以使用這樣的事情:
>>> var = "[email protected]$_ABC1234-XX12X"
>>> newstring = var[5:12]
>>> newstring
'ABC1234'
一個Python字符串有一個切片方法。
謝謝。但我更喜歡搜索方法,字符串的位置應該是靈活的。 – loveclassic
到目前爲止的任何嘗試?通常在不先嚐試某些事情的情況下提出問題就會皺起了眉頭。 –
所以你想檢查字符串「ABC1234」是否在原始字符串?或者你想獲得它之前的三個字符和之後的四個字符? – LyricLy
我已經嘗試過,但仍然無法取得成功。我想從原始字符串中得到完整的字符串ABC1234。 – loveclassic