Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
特定于正则表达式的格式,数字用逗号分隔(Python中)_Python_Regex_Format - Fatal编程技术网

特定于正则表达式的格式,数字用逗号分隔(Python中)

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

我正在尝试检查特定格式是否为true,如果格式正确或不正确,函数将返回1或0。我尝试使用的格式是用逗号和空格分隔的数字(即。
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