[英]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.