我試圖用regex
來匹配2條規則。我已經嘗試過在各種情況下進行測試,給了我不想要的結果。用於字符串匹配的Python正則表達式
規則如下:
- 查找包含數字的所有字符串(整數,小數和負值在內)
- 查找有沒有數值的所有字符串。這是指特殊字符,如@#$%^ & *()
所以在我試圖符合這些規則,我得到這個:
def rule(word):
if re.match("\W", word):
return True
elif re.match("[-.\d]", word):
return True
else:
return False
Input: output
測試如下
word = '972.2' : True
word = '-88.2' : True
word = '8fdsf' : True
word = '86fdsf' : True
我希望這是假
word = '&^(' : True
有一些更多的測試,但我只是想表明一個我想返回False。看起來它只是匹配第一個字符,所以我試圖改變正則表達式,但這使情況變得更糟。
對於識別號,它是簡單的使用'嘗試/ except'用'數=浮子(字符串) ' – Paul