簡體   English   中英

通過正則表達式 Python 檢查字符串是否遵循嚴格的格式

[英]Check if string follow a strict format via Regex Python

我有一個可能具有以下任何格式的字符串(示例):

  • 1111__1111
  • 1111__1111_11
  • 111_11A_11

我添加了以下檢查:

import re

print(bool(re.match("\d__\d","1111_1111"))
print(bool(re.match("\d__\d_\d","1111_1111_11"))
print(bool(re.match("\d_\d[A-Za-z]_\d","111_11A_11"))

我不認為正則表達式是正確的,因為當我在第一個正則表達式中引入一個字符時,它總是返回 True。

你能指點我一個解決方案嗎?

謝謝

它返回 True 是因為模式試圖根據模式字符串中的每個字符來查找匹配項。

以下正則表達式查找三種場景的完全匹配:

print(bool(re.match("(^\d{4}__\d{4}$)","1111__1111")))
print(bool(re.match("(^\d{4}\_\d{4}\_\d{2}$)","1111_1111_11")))
print(bool(re.match("(^\d{3}_\d{2}[A-Z]_\d{2}$)","111_11A_11")))

暫無
暫無

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

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