我正在使用語法高亮控件,我必須用Regex指定所有高亮顯示的東西。我已經完成了其他一切(關鍵字,函數,字符串,註釋等),但我無法想出一個適用於幻數的良好規則。如果有幫助,我將它用於Lua文本編輯器。用正則表達式尋找神奇數字
正如你看到的,我的變量名,也讓他們的部分:我目前使用\d+
檢測數字,但問題是,我結束了這樣的事情
突出顯示。
有沒有人知道一種方法來使這個特定的規則正常工作?
我正在使用語法高亮控件,我必須用Regex指定所有高亮顯示的東西。我已經完成了其他一切(關鍵字,函數,字符串,註釋等),但我無法想出一個適用於幻數的良好規則。如果有幫助,我將它用於Lua文本編輯器。用正則表達式尋找神奇數字
正如你看到的,我的變量名,也讓他們的部分:我目前使用\d+
檢測數字,但問題是,我結束了這樣的事情
突出顯示。
有沒有人知道一種方法來使這個特定的規則正常工作?
你不希望它匹配一個名稱,所以添加一個字邊界:\b\d+\b
。
對於浮標,可能有一個小數部分:\b\d+(?:\.\d+)?\b
。
對於浮點數,也可以有一個指數:\b\d+(?:\.\d+)?(?:[Ee][+\-]?\d+)\b
。
我會說,保持簡單,當涉及正則表達式(即只寫你需要什麼,沒有更多)。下面將匹配的已被分配組2至浮標和整數:
(=\s*)([\d|\.]+)(\s*;)
希望有幫助。
對於整數,十六進制常量可以有一個「0x」前綴,並且後面多個字符不只是十進制數字。 – 2015-05-24 20:43:04