Python正则表达式:可选

Python正则表达式:可选,python,regex,Python,Regex,在一个文件中,我有以下一组数据 FX_DETAIL_69#chf4 FX_DETAIL_75#chf1 FX_DETAIL_07#bluXCFG#chf2 FX_DETAIL_99#bluXCFG#chf9 FX_DETAIL_62#chf6 我已经用Python编写了以下正则表达式: FX_DETAIL\_(\d+)\#(\w+) 如何使用可选选项排除值.bluXCFG?您可以使用贪婪的通配符(*)消耗所有内容,直到最后一次#(\w+): 使用(?:#bluXCFG)?指定可选组 FX_D

在一个文件中,我有以下一组数据

FX_DETAIL_69#chf4
FX_DETAIL_75#chf1
FX_DETAIL_07#bluXCFG#chf2
FX_DETAIL_99#bluXCFG#chf9
FX_DETAIL_62#chf6
我已经用Python编写了以下正则表达式:

FX_DETAIL\_(\d+)\#(\w+)

如何使用可选选项排除值
.bluXCFG

您可以使用贪婪的通配符(
*
)消耗所有内容,直到最后一次
#(\w+)

使用
(?:#bluXCFG)?
指定可选组

FX_DETAIL_(\d+)(?:#bluXCFG)?#(\w+)

顺便说一句,没有必要转义
\uu
#
,它们没有特殊意义。

您可以选择匹配以下所有内容,除了换行符或#本身,直到下一次出现#使用

FX_DETAIL_(\d+)(?:#bluXCFG)?#(\w+)
FX_DETAIL_(\d+)#(?:[^#\r\n]*#)?(\w+)