簡體   English   中英

正則表達式特定格式,數字用逗號分隔(在 Python 中)

[英]Regex specific format with numbers separated with commas (in Python)

我正在嘗試檢查特定格式是否正確,如果格式正確或不正確,function 返回 1 或 0。 我嘗試使用的格式是用逗號和空格分隔的數字(即0, 13, 24, 27 )。 我當前的代碼在某種程度上有效,但它沒有檢測到數字前面只有一個空格,如果我要在中間添加一些隨機文本(即0, 13, 24asd, 27 ),它仍然會檢測到這一點作為有效格式。 我應該如何解決這個問題?

代碼:

def format_placement(string):
    is_correct = 0
    pattern = re.compile(r'(\d+)(?:,(\d+)*)')
    if re.findall(pattern, string):
        is_correct = 1
    return is_correct

您可以使用re.fullmatch將完整字符串與模式匹配,並在逗號后添加一個空格(或\s如果您允許任何空格):

def format_placement(string):
    is_correct = 0
    if re.fullmatch(r'\d+(?:, \d+)*', string):
        is_correct = 1
    return is_correct

請參閱正則表達式演示^表示字符串的開頭, $表示字符串的結尾,使用re.fullmatch時這些錨點不是必需的)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM