早上好,我有一个关于正则表达式的问题,我正在形成这个问题,在某些情况下,我想捕获的是*开头的,在另一些情况下不是,例如:
*B:P79COL01 #
A:PED77MCY04 #
我用于捕获此值的正则表达式如下所示:
pattern=re.compile(f'[/*][AB]:{equipo}#?')
其中equipo是一个变量
但我不能得到价值观我不是从*(示例A:PED77MCY03#)开始的,我对正则表达式真的是很陌生,我几乎不能理解它
equipo='P79COL01'
patron=re.compile(f'[/*][AB]:{equipo}#?')
可能有用
\*
转义*字符,使我们可以匹配它?
匹配前面字符的0或1次出现,这似乎是问题的核心(.*?)
匹配:
和#
之间的任何内容注意#前面的空格(如上例所示) 结果就是它自己的捕获组{0,1} and ? seem to be the same但是为了可读性,选择后者可能是有意义的,但是这里有自由,这似乎取决于个人选择——就像两个选项都列在评论中一样
绝对值得通过the documentation对任何微调和细微改动进行一次全面的检查
相关问题 更多 >
编程相关推荐