在Python Regex中,如何表达以下字符串模式?[副本]

svujldwt  于 2023-10-22  发布在  Python
关注(0)|答案(1)|浏览(95)

此问题已在此处有答案

Regular expression matching A, B, and AB(2个答案)
4天前关闭。
在Python Regex中,如何表达以下字符串模式?
假设我有两个子模式p1和p2。我想要以下任何情况的模式:

  • p1p2(p1出现在p2之前)
  • p1(无p2)
  • p2(无p1)

这两种模式不可能同时存在。

w46czmvw

w46czmvw1#

您可以尝试以下积极和消极的前瞻Assert:
p1p2(p1出现在p2之前):

import re
pattern = re.compile(r'p1(?=p2)')

p1(无p2)

pattern = re.compile(r'p1(?!p2)')

p2(无p1)

pattern = re.compile(r'p2(?!p1)')

相关问题