特定于正则表达式的格式,数字用逗号分隔(Python中)
我正在尝试检查特定格式是否为true,如果格式正确或不正确,函数将返回1或0。我尝试使用的格式是用逗号和空格分隔的数字(即。特定于正则表达式的格式,数字用逗号分隔(Python中),python,regex,format,Python,Regex,Format,我正在尝试检查特定格式是否为true,如果格式正确或不正确,函数将返回1或0。我尝试使用的格式是用逗号和空格分隔的数字(即。 0,13,24,27)。我的当前代码在一定程度上起作用,但是它没有检测到只有一个空间在一个数字前面,如果我在中间添加一些随机文本(即 0, 13,24ASD,27 < /代码>),它仍然检测到这是一个有效的格式。我该如何着手解决这个问题 代码: 您可以使用将完整字符串与模式匹配,并在逗号后向正则表达式添加空格(或\s如果允许任何空格): 请参阅(^指示字符串的开头,而$标
0,13,24,27
)。我的当前代码在一定程度上起作用,但是它没有检测到只有一个空间在一个数字前面,如果我在中间添加一些随机文本(即<代码> 0, 13,24ASD,27 < /代码>),它仍然检测到这是一个有效的格式。我该如何着手解决这个问题
代码:
您可以使用将完整字符串与模式匹配,并在逗号后向正则表达式添加空格(或\s
如果允许任何空格):
请参阅(^
指示字符串的开头,而$
标记字符串的结尾,使用重新进行完全匹配时不需要这些锚定)
def format_placement(string):
is_correct = 0
pattern = re.compile(r'(\d+)(?:,(\d+)*)')
if re.findall(pattern, string):
is_correct = 1
return is_correct
def format_placement(string):
is_correct = 0
if re.fullmatch(r'\d+(?:, \d+)*', string):
is_correct = 1
return is_correct