4

質問: emacs で数字のフォント ロック フェイスを作成しようとしていますが、必要なものに一致する正規表現を取得するのに苦労しています。ここに私が持っているものがあります:

"\\<\\([0-9]*\\.?[0-9]*\\)+\\(d\\|f\\)?\\>"

一致させたいもの:

  1. 2
  2. 2.1
  3. 2.1f または 2.1d
  4. .1f または .1d

合わせたくないもの

  1. 2.
  2. 2.f または 2.d
  3. fまたはd

現在の問題:

現在はほとんど動作しますが、数字の前の (.) を取得しないため、.2 や .2f などの数字とは一致しません。また、現在、コード内の任意の場所にある単一の「f」または「d」と一致するため、f または d などの変数名が一致します。ここで何が欠けていますか?私は先週かそこらの間、昼休みごとにこれをいじっていましたが、困惑しています。

4

1 に答える 1

2

次のような正規表現を使用できます (PCRE 構文):

(\d*\.\d+|\d+)[fd]?

(必要に応じて固定してください。)

Emacs スタイルの正規表現に変換 ( by Jon O ):

"\\<\\([0-9]*\\.[0-9]+\\|[0-9]+\\)[df]?\\>"
于 2012-06-12T14:54:27.570 に答える