2011-01-24 48 views
1

我正在爲學校開發一個Web應用程序,並且擁有諸如class_name和course_name之類的東西。 course_name是class_name的父級,因此class_name必須包含course_name。例如:如何使用正則表達式檢測字符串中的符號?

course_name = "Weeklies" 
class_name = "Weeklies talks with Superstars" 

上述情況將是完美和正確的。

但是,有時候用戶會創建一個包含符號的課程名稱,這些符號會混淆我爲class_name(\ b \ b)設置的單詞邊界正則表達式。在course_name中使用正則表達式的元字符會使字邊界每次都返回False,因爲符號不是單詞。

問題:

如何檢查是否COURSE_NAME包含符號/元字符在Python,如果是的話,我想返回False否則真的嗎?

馬克

+0

這聽起來不太正確。 (1)您是否從這些信息構建數據庫?數據可以放入csv文件的行中並直接加載? (2)這些數據是否存在於一個配置文件中 - 一個.INI文件,或許?使用ConfigParser解析它或將該文件寫爲json。 (3)您作爲開發人員對這些數據有一定的控制權,還是由用戶制定的? – hughdbrown 2011-01-24 05:53:23

+0

它由用戶控制。因此,如果用戶創建「Weekelies(Screening)」作爲course_name並使用我的\ bWeeklies(Screening)\ b正則表達式,則由於括號不是一個單詞而會失敗。如何檢測字符串中的符號/元字符?我想阻止用戶輸入帶有符號和元字符的course_name。 – Mark 2011-01-24 06:05:51

回答

0

這是某種通用的解決方案的...只是用合適的語法替換正則表達式。

if not re.match(str, r'[\w\d\ ]+'): 
    # valid 
相關問題