我的問題是我需要檢查一個字符串,如果它只包含以下任意數量的字符:任何數字 0-9這些 - + 中的任何字符。\ * 和一個空格如果它包含任何其他字符,則該字符串無效,正則表達式應捕獲它。我嘗試了以下正則表達式,但不幸的是,它不起作用,我被卡住了。"[^0-9 ,.\\-+*]"例如:1 * 2.4324 應該是正確的,但 1 & 2.3231 不應該提前謝謝。
1 回答

ITMISS
TA貢獻1871條經驗 獲得超8個贊
您可能正在尋找
^[0-9 ,.\-+\*]*$
這首先查找字符串的開頭^
,然后查找任意數量的允許字符[...]*
,最后查找字符串的結尾$
。您的正則表達式會查找字符串中出現的任何一個,因此只要一個字符有效,整個輸入就會成功匹配。
更新
實際上,我誤讀了您的正則表達式。您已經否定了該課程,因此匹配單個字符應該有效。你可以在這里找到一個例子:https ://regex101.com/r/bKZAl5/1/
我相信,你可能只是錯誤地引用了你的一些角色。星號應該被轉義,減號目前沒有被轉義,給你一個完整的匹配字符范圍從\
到+
。也就是說,它可能需要雙反斜杠將其轉義到您的輸入字符串中,而您只是將其原樣粘貼到此處。
添加回答
舉報
0/150
提交
取消