首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用正则表达式查找幻数

使用正则表达式查找幻数
EN

Stack Overflow用户
提问于 2012-07-31 08:28:29
回答 2查看 559关注 0票数 0

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

我目前正在使用\d+来检测数字,但问题是我最终会得到这样的结果:

正如您所看到的,我的变量名也突出显示了其中的一部分。

有没有人知道让这条规则正确工作的方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-31 08:36:14

您不希望它在名称中匹配,因此添加一个单词边界:\b\d+\b

对于浮点数,可能有一个小数部分:\b\d+(?:\.\d+)?\b

对于浮点数,也可以有一个指数:\b\d+(?:\.\d+)?(?:[Ee][+\-]?\d+)\b

票数 3
EN

Stack Overflow用户

发布于 2012-07-31 11:50:56

当涉及到正则表达式时,我会说保持它的简单性(即只写你需要的东西,不要再写了)。下面将组2与被赋值的浮点数和整型数进行匹配:

代码语言:javascript
复制
(=\s*)([\d|\.]+)(\s*;)

  • 组1:上下文在'=‘符号之后开始,占任何额外的空格( \s*)。
  • 组2:将匹配1个或多个数字( \d)或句点( .)。
  • 组3:上下文在';‘处结束,表示它之前的任何额外空格(\s*)。

希望这能有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11731536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档