首页 > 解决方案 > 与所需条件匹配的正则表达式模式

问题描述

如何编写与以下模式匹配的正则表达式模式:

  1. 0/2/a/Q.
  2. 必须以S/d.
  3. 必须至少包含两个0s。
  4. 仅包含字母数字字符和唯一的特殊字符$(美元符号)。

我已经尝试过了,但是0我的代码不满足这两个条件:

import re


data = '''
    Hello everyone, good evening, I am kanchon and I am from RUET. Now I am writing my assignment for automata code and trying to solve out this problem.
    Some dummy content line is following:
    022jdshjgh$dgdg Quite$stupid this is enough
'''
date_pattern = re.compile(r'[02aQ][a-zA-Z0-9$]+[Sd]')
dates = date_pattern.findall(data)

print(dates)

标签: pythonre

解决方案


获取您的描述并添加前瞻:

^(?=.*?0.*0)[02aQ][a-zA-Z0-9$]+[Sd]$

演示

这适用于单行上的单个字符串。

对于文本中的目标,您将添加一些内容以查找独立单词。我将把它作为消费税留给 OP。


推荐阅读