我正在使用一个语法突出显示控件,并且我必须使用Regex指定所有突出显示的内容。我已经完成了所有其他的工作(关键字、函数、字符串、注释等)。已经有了,但是我想不出一个好的魔数规则。我正在使用它作为Lua文本编辑器,如果这有任何帮助的话。
我目前正在使用\d+来检测数字,但问题是我最终会得到这样的结果:

正如您所看到的,我的变量名也突出显示了其中的一部分。
有没有人知道让这条规则正确工作的方法?
发布于 2012-07-31 08:36:14
您不希望它在名称中匹配,因此添加一个单词边界:\b\d+\b。
对于浮点数,可能有一个小数部分:\b\d+(?:\.\d+)?\b。
对于浮点数,也可以有一个指数:\b\d+(?:\.\d+)?(?:[Ee][+\-]?\d+)\b。
发布于 2012-07-31 11:50:56
当涉及到正则表达式时,我会说保持它的简单性(即只写你需要的东西,不要再写了)。下面将组2与被赋值的浮点数和整型数进行匹配:
(=\s*)([\d|\.]+)(\s*;)希望这能有所帮助。
https://stackoverflow.com/questions/11731536
复制相似问题