我需要在python中編寫一個正則表達式來匹配一個只包含數字[0-9],空格和超類的字符串。python匹配每個位置的數字,空格和超級版本
print re.match('\d*', '1sdsd')
即使它包含字符,上述模式也匹配。
我需要在python中編寫一個正則表達式來匹配一個只包含數字[0-9],空格和超類的字符串。python匹配每個位置的數字,空格和超級版本
print re.match('\d*', '1sdsd')
即使它包含字符,上述模式也匹配。
您的答案會匹配,因爲字符串中有一個數字。如果只在所有字符與正則表達式匹配時才匹配,則必須使用^
和$
指定字符串的開頭和結尾。
print re.match('^[\d\- ]+$', '1sdsd')
工作示例
您正則表達式匹配任何字符串。如果要匹配僅包含某些字符的字符串,則需要在前面添加'^',並在表達式 –
的後面添加'$',請閱讀所使用方法的文檔。 – njzk2
@MaartenFabré實際上,使用'match',你不需要'^' – njzk2