如何使用 python (正则表达式)从字符串中提取像 d1234-5678-c9876 这样的词?

how to extract word like d1234-5678-c9876 from a string using python (regex expression)?

我必须从字符串中找到像 a4546-1234 或 a12344-v23454-32444 这样的词。我尝试了各种方法来找出答案。

您的示例最直接的正则表达式可能是

re.search("[a-z]?\d+(-[a-z]?\d+)*", mystring)

这将找到所有可能以字母开头,后跟多个数字,后跟零个或多个“-”实例、一个可能的字母和多个数字的子字符串。但我不知道这是否真的是你根据你的问题寻找的模式。您所有的目标字符串有什么共同点?

重新导入

文本='use this as an example ca365-1234'

text = re.findall('([A-Za-z]+[\d]+[\w-]|[\d-]+[A-Za- z]+[\w-])', 文本)

打印(文本)

我找到了上述问题的解决方案。这非常简单。

这个可以用

str= "llllkkknnnnnnnnna4546-1234bbbbbba12344-v23454-32444nnnn"
text=re.findall('((a[0-9])\w+\-[0-9].\w.)|((a[0-9])\w+\-v[0-9]\w+\-[0-9]\w...)',str)