我有一个语法突出显示器,它接受简单的正则表达式以应用样式。现在,我需要提供仅与浮点数匹配的正则表达式。
文字范例:
test1 -1 0 test2-1.1 0.123 -0.23 255 10.1 1-1-100.11-2
应该匹配的内容:[-1],[0],[0.123],[-0.23] [255],[10.1]
如您所见-Stack Overflow的荧光笔弄错了:)最后一个表达式是标识符(甚至可以是文件名)。绝对不是数字。
重要的是,输入文本中的其他任何字符都不应匹配。
我无法对文本进行任何替换。数字与文本的其余部分用空格或分号分隔。但是这些字符不能匹配。
明显的尝试:
\b[-+]?[0-9]*\\.?[0-9]+\b
但这是行不通的。“单词边界”出现问题。“-”字符被视为非单词字符,因此第一个“ \ b”将不与任何负数匹配。最后一个“ \ b”将在文本中的每个“-”之前匹配,因此在“ 1-test”中,“ 1”将作为数字进行匹配,这是错误的。
是否有一个更聪明的锚用作“ \ b”,但将“-”视为可能单词的一部分?
恐怕对此没有解决方案-至少使用单个正则表达式。还是我做错了并且可以做到?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句