標記之間的子字串提取
給定一個字串和一對標記,任務是提取這些標記之間的子字串。例如,考慮字串“gfgfdAAA1234ZZZuijjk”。目標是獲取“1234”部分。
在Python中,正規表示式為這個問題提供了強大的解決方案。考慮以下程式碼片段:
import re text = 'gfgfdAAA1234ZZZuijjk' m = re.search('AAA(.+?)ZZZ', text) if m: found = m.group(1) # found: 1234
表達式 'AAA(. ?)ZZZ' 符合 'AAA' 和 'ZZZ' 之間的任何子字串。表達式中的括號將子字串捕獲為一組,而 '. ?量詞確保它非貪婪地匹配任意數量的字元。
re.search() 函數尋找文字中模式的第一次出現並傳回一個符合對象,其中包含捕獲的群組。 group(1) 方法提取標記之間的子字串並將其指派給找到的變數。
或者,try- except 區塊可以處理潛在的錯誤:
import re text = 'gfgfdAAA1234ZZZuijjk' try: found = re.search('AAA(.+?)ZZZ', text).group(1) except AttributeError: # AAA, ZZZ not found in the original string found = '' # Your error handling here # found: 1234
此方法保證即使文字中不存在標記,程式也會繼續運行,因為它會處理group(1 ) 方法失敗時發生的AttributeError。
以上是如何使用正規表示式在 Python 中提取標記之間的子字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!