簡體   English   中英

帶有連接詞的正則表達式

[英]Regular expression with connected words

我一直在研究 python 代碼以從文本文檔中提取文檔 ID,其中 ID 可以使用正則表達式位於文本中的隨機行。

此文檔 ID 由四個字母組成,后跟一個連字符,后跟三個數字,還可以選擇以字母結尾。 例如,以下每個都是有效的文檔 ID:

  1. ABCD-123
  2. ABCD-123V
  3. XKCD-999
  4. COMP-200

我嘗試使用以下正則表達式來查找所有 ID:

re = re.findall(r"([A-Z]{4})(-)([0-9]{3})([A-Z](?![A-Za-z]))?", text.read())

這些表達式可以正常工作,但是當 Id 連接到單詞時出現問題,例如XKCD-999James返回XKCD-999這是正確的,但如果 id 是XKCD-999KEight它返回XKCD-999而正確答案是XKCD-999K


所以基本上我需要一種方法來分離與給定 id 中的單詞相關的任何字母字符

以下問題的正確方法是什么?

我一直在研究 python 代碼以從文本文檔中提取文檔 ID,其中 ID 可以使用正則表達式位於文本中的隨機行。

此文檔 ID 由四個字母組成,后跟一個連字符,后跟三個數字,還可以選擇以字母結尾。 例如,以下每個都是有效的文檔 ID:

  1. ABCD-123
  2. ABCD-123V
  3. XKCD-999
  4. COMP-200

我嘗試使用以下正則表達式來查找所有 ID:

re = re.findall(r"([A-Z]{4})(-)([0-9]{3})([A-Z](?![A-Za-z]))?", text.read())

這些表達式可以正常工作,但是當 Id 連接到單詞時出現問題,例如XKCD-999James返回XKCD-999這是正確的,但如果 id 是XKCD-999KEight它返回XKCD-999而正確答案是XKCD-999K


所以基本上我需要一種方法來分離與給定 id 中的單詞相關的任何字母字符

以下問題的正確方法是什么?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM