繁体   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