问题: 我想在emacs中创建一个数字字体锁面,但是我无法获得符合我需要的正则表达式。这就是我所拥有的:
"\\<\\([0-9]*\\.?[0-9]*\\)+\\(d\\|f\\)?\\>"
我希望它匹配:
我不希望它匹配
当前问题:
目前它主要起作用,但它与.2或.2f之类的数字不匹配,因为它在数字之前没有拾取(。)。它目前还在代码中的任何位置匹配单个“f”或“d”,因此变量名称为f或d匹配。我在这里错过了什么?在过去一周左右的每个午休时间,我都在摆弄这个,我很难过。
答案 0 :(得分:2)
您可以使用这样的正则表达式(PCRE语法):
(\d*\.\d+|\d+)[fd]?
(根据需要锚定它。)
转换为Emacs样式正则表达式(Jon O):
"\\<\\([0-9]*\\.[0-9]+\\|[0-9]+\\)[df]?\\>"