欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python正則表達式完成車牌號檢驗的代碼實例

 更新時間:2024年02月19日 15:02:49   作者:青取之于藍但沒他藍  
這篇文章主要給大家介紹了關于python正則表達式完成車牌號檢驗的相關資料,在Python中正則表達式是一種用于匹配和操作字符串的強大工具,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

正則表達式:

對于車牌而言,選用的正則表達式是"^[京津滬渝冀豫云遼黑湘皖魯新蘇浙贛鄂桂甘晉蒙陜吉閩貴粵青藏川寧瓊A-Z]{1}[A-Z]{1}\s{1}[A-Z0-9]{4}[A-Z0-9掛學警港澳]{1}$",使用re模塊中的findall方法可以對輸入的車牌進行合法性判定

對實驗要求,可以大致拆分為以下幾個部分:

  • 設置主循環(huán):將文件以追加讀寫的方式打開,進行合法性判斷、對非法的舍棄、合法中重復的位置定位,不重復的寫入、關閉文件保存
  • 合法性判斷:首先定義了一個正則表達式,并使用其進行合法性判斷
  • 合法性重復性判斷:設立一個列表,使用append方法將每次輸入的字符都加入其尾,使用列表的count方法計算每次寫入的字符串是否有重復,由于count會返回其在列表中的次數(shù),一旦次數(shù)超過1,我們就判定為重復,屆時使用列表的index方法返回的坐標+1即其在文本文件中第幾行出現(xiàn),打印出即可

實驗測試結(jié)果如下:

可以看到輸入的車牌號可以為漢字也可以是全英文,對車牌號數(shù)字數(shù)量不夠或車牌號輸入錯誤都會判定為輸入非法,而正確的非重復的會將其保存至文本文件里,正確的重復的將不會保存。

源代碼:

import re
paizi=[]
pattern_str = "^[京津滬渝冀豫云遼黑湘皖魯新蘇浙贛鄂桂甘晉蒙陜吉閩貴粵青藏川寧瓊A-Z]{1}[A-Z]{1}\s{1}[A-Z0-9]{4}[A-Z0-9掛學警港澳]{1}$"
def is_car_number(pattern, string):
    if re.findall(pattern, string):
        return 1
    else:
        return 2
if __name__ == '__main__':
    while True:
        string_str=input('輸入車牌號')
        fp_exercise4 = open(r'D:\浙理課程相關資料\2022-2023上\python\exercise4_test.txt', 'a+')

        if is_car_number(pattern_str, string_str)==2:
            print("輸入非法,請重新輸入")
        else:
            paizi.append(string_str)#加到列表中,用于判定重復
            if paizi.count(string_str)==2:#檢測到重復信號
                print("該車牌已經(jīng)存在!它在第{}行".format(paizi.index(string_str)+1))
            else:
                print("輸入正確,已保存!")
                fp_exercise4.write(string_str + '\n')
        fp_exercise4.close()

附包含新能源校驗:

新能源
組成:省份簡稱(1位漢字)+發(fā)牌機關代號(1位字母)+序號(6位),總計8個字符,序號不能出現(xiàn)字母I和字母O
* 通用規(guī)則:不區(qū)分大小寫,第一位:省份簡稱(1位漢字),第二位:發(fā)牌機關代號(1位字母)
* 序號位:
* 小型車,第一位:只能用字母D或字母F,第二位:字母或者數(shù)字,后四位:必須使用數(shù)字
* ---([DF][A-HJ-NP-Z0-9][0-9]{4})
* 大型車,前五位:必須使用數(shù)字,第六位:只能用字母D或字母F。
* ----([0-9]{5}[DF])

 /^([京津滬渝冀豫云遼黑湘皖魯新蘇浙贛鄂桂甘晉蒙陜吉閩貴粵青藏川寧瓊使領A-Z]{1}[a-zA-Z](([DF]((?![IO])[a-zA-Z0-9](?![IO]))[0-9]{4})|([0-9]{5}[DF]))|[京津滬渝冀豫云遼黑湘皖魯新蘇浙贛鄂桂甘晉蒙陜吉閩貴粵青藏川寧瓊使領A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9掛學警港澳]{1})$/

總結(jié) 

到此這篇關于python正則表達式完成車牌號檢驗的文章就介紹到這了,更多相關python正則檢驗車牌號內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python注釋詳解

    Python注釋詳解

    下面小編就為大家?guī)硪黄狿ython注釋詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • vscode和Anaconda安裝以及相關環(huán)境配置指南

    vscode和Anaconda安裝以及相關環(huán)境配置指南

    Anaconda是一個開源的python發(fā)行版本,是現(xiàn)在比較流行的python數(shù)據(jù)科學平臺,可以對python的科學包做到有效管理,這篇文章主要給大家介紹了關于vscode和Anaconda安裝以及相關環(huán)境配置指南的相關資料,需要的朋友可以參考下
    2023-11-11
  • Python的iOS自動化打包實例代碼

    Python的iOS自動化打包實例代碼

    這篇文章主要給大家介紹了關于Python的iOS自動化打包的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-11-11
  • Python接口傳輸url與flask數(shù)據(jù)詳解

    Python接口傳輸url與flask數(shù)據(jù)詳解

    這篇文章主要介紹了Python通過接口傳輸url與flask數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-09-09
  • python3.6中anaconda安裝sklearn踩坑實錄

    python3.6中anaconda安裝sklearn踩坑實錄

    這篇文章主要介紹了python3.6中anaconda安裝sklearn踩坑實錄,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • 使用Python實現(xiàn)VPN搭建的流程步驟

    使用Python實現(xiàn)VPN搭建的流程步驟

    VPN(虛擬私人網(wǎng)絡)是一種有效的解決方案,可以幫助我們在網(wǎng)絡上匿名瀏覽,保護數(shù)據(jù)傳輸?shù)陌踩?雖然市面上有許多商業(yè)VPN服務,但你也可以通過Python自己搭建一個簡單的VPN,本文將介紹如何用Python建立自己的VPN,需要的朋友可以參考下
    2024-06-06
  • Python?Opencv基于透視變換的圖像矯正

    Python?Opencv基于透視變換的圖像矯正

    這篇文章主要為大家詳細介紹了Python?Opencv基于透視變換的圖像矯正,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 跟老齊學Python之用Python計算

    跟老齊學Python之用Python計算

    做為零基礎學習Python,也就從計算小學數(shù)學題目開始吧。因為從這里開始,數(shù)學的基礎知識列為肯定過關了。
    2014-09-09
  • 徹底卸載anaconda詳細教程(推薦!)

    徹底卸載anaconda詳細教程(推薦!)

    用anaconda更改我的python版本,就是出現(xiàn)了凍結(jié)無法更改等等之類的問題,擔心更新anaconda還是會出錯,于是打算卸載anaconda,重新下載一個安裝,下面這篇文章主要給大家介紹了關于徹底卸載anaconda的相關資料,需要的朋友可以參考下
    2022-11-11
  • Python中使用matplotlib繪制mqtt數(shù)據(jù)實時圖像功能

    Python中使用matplotlib繪制mqtt數(shù)據(jù)實時圖像功能

    這篇文章主要介紹了Python中使用matplotlib繪制mqtt數(shù)據(jù)實時圖像,本代碼中publish是一個死循環(huán),數(shù)據(jù)一直往外發(fā)送,詳細代碼跟隨小編一起通過本文學習下吧
    2021-09-09

最新評論