自己寫了一個判斷正則表達式的腳本

雖然判斷正則對應是否正確的腳本或者網站有很多,自己還是寫了一個小腳本,就當練手了。沒想到在寫的過程中在循環方面還遇到了問題,不知道是應該用while還是直接使用if,這都想了半天,太沒用了,最後還是完成了腳本的製作。

import re

text = input("輸入需要判斷的字符串:\n>>> ")
def judge_re():
      text_re = input("輸入正則表達式:\n>>> ")
      if re.match(text_re, text):
            print ("原字符串爲:\t", text)
            print ("\n正則表達式爲:\t", text_re)
            print ("\n正則表達式正確!")
      else:
            print ("錯誤,請重新輸入!\n")
            judge_re()
judge_re()

效果還是不錯的:

判斷正則表達式

===============================================================

更新:

今天早上在看正則的時候看到了腳本中match()函數。書中提示match()函數必須從字符串的第0個索引位置處開始搜索,如果第0個索引位置的字符串匹配不成功,match()函數的匹配失敗。說明我上邊那個腳本還是有一定侷限性的。

這裏推薦給大家一個檢測正則是否正確的網址:

http://www.regexr.com

在實際寫腳本中,在給保存到本地的文件命名時我用到了正則替換,函數爲:

import re

re.sub(pattern, repl, string, count=0)

這個函數的作用是,根據指定的正則表達式,替換源字符串的字串。pattern是一個正則表達式,repl是用於替換的字符串,string是源字符串。如果count=0,則返回string中匹配的所有結果;如果count>0,則返回count個匹配結果。

在之前我寫的腳本中遇到了命名的問題,那個例子是:

import re

text = "/media/photos/746264"

file_name = re.sub(r"\D+", "0", text) #在使用正則表達式的時候記得加r" "

print (file_name)

這樣就實現了替換和文件的命名,避免了文件在命名過程中不能使用特殊字符的問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章