我怎样才能形成一个正则表达式,在某些情况下它以*开头,而在另一些情况下它不是以python开头

2024-06-16 08:52:18 发布

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

早上好,我有一个关于正则表达式的问题,我正在形成这个问题,在某些情况下,我想捕获的是*开头的,在另一些情况下不是,例如:

*B:P79COL01 #

 A:PED77MCY04 #

我用于捕获此值的正则表达式如下所示:

pattern=re.compile(f'[/*][AB]:{equipo}#?')

其中equipo是一个变量

但我不能得到价值观​​我不是从*(示例A:PED77MCY03#)开始的,我对正则表达式真的是很陌生,我几乎不能理解它

equipo='P79COL01'
patron=re.compile(f'[/*][AB]:{equipo}#?')

Tags: re示例ab情况patterncompile价值观patron
1条回答
网友
1楼 · 发布于 2024-06-16 08:52:18
\*?[AB]:(.*?) #

可能有用

\*转义*字符,使我们可以匹配它

?匹配前面字符的0或1次出现,这似乎是问题的核心

(.*?)匹配:#之间的任何内容注意#前面的空格(如上例所示) 结果就是它自己的捕获组

{0,1} and ? seem to be the same但是为了可读性,选择后者可能是有意义的,但是这里有自由,这似乎取决于个人选择——就像两个选项都列在评论中一样

绝对值得通过the documentation对任何微调和细微改动进行一次全面的检查

相关问题 更多 >