如何查找python字符串中是否存在字符串模式?

2024-09-28 01:23:24 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个字符串数组 子字符串,字符字符(CDDDC将是模式)。例如,格式如下: H554L K007K

是否有任何快速字符串表达式匹配来查找此类事件


Tags: 字符串表达式格式模式事件数组字符cdddc
2条回答

像这样的事情是“正则表达式”的领域。正则表达式用于模式匹配。这本身就是一个很宽泛的问题,这里要解释的太多了(请勾选regexbuddy or another site

python在re(以及regex模块)下有一个内置的正则表达式编译器。因此,一个简单的解决办法是:

word for word in somelist if re.search(r"[a-zA-Z]\d{3}[a-zA-Z]", word)

它在somelist上迭代,并选择与两个“范围”中的一个字符(完全)匹配的任何内容,后跟3位数字,后跟该范围中的一个字符

注释中的注释:re.search将匹配(查找)任何项目,该项目的“部分”与“模式”匹配。因此它将匹配a123babc b123cd。如果希望确保数组中的完整“单词”与子字符串匹配,请改用re.fullmatch
Fullmatch将匹配a123b但不匹配abc b123cd和不匹配ab123cd

使用以下正则表达式尝试此示例:

正则表达式:(?i)[A-Z]\d\d\d[A-Z]

import re
xx = ['aeeea','5eeae','H554L','juan','K007K']
for i in xx:
  r1 = re.findall(r"(?i)[A-Z]\d\d\d[A-Z]", i)
  print (', '.join(r1)
)

Run the example online

相关问题 更多 >

    热门问题