0

私は構文の強調表示コントロールを使用しており、強調表示されたすべてのものを正規表現で指定する必要があります。他のすべて (キーワード、関数、文字列、コメントなど) は既に完了していますが、マジック ナンバーの適切なルールが思いつきません。それがまったく役立つ場合、私はLuaテキストエディタに使用しています。

私は現在\d+、数字を検出するために使用していますが、問題は次のようなものになってしまうことです:

ここに画像の説明を入力

ご覧のとおり、変数名の一部も強調表示されています。

この特定のルールを正しく機能させる方法を知っている人はいますか?

4

2 に答える 2

3

名前内で一致させたくないので、単語境界を追加します: \b\d+\b.

フロートの場合、小数部分が存在する可能性があります: \b\d+(?:\.\d+)?\b.

浮動小数点の場合、指数も存在する可能性があります: \b\d+(?:\.\d+)?(?:[Ee][+\-]?\d+)\b.

于 2012-07-31T00:36:13.613 に答える
2

正規表現に関しては、シンプルに保つようにしてください(つまり、必要なものだけを記述し、それ以上は記述しないでください)。以下は、グループ 2 を、割り当てられている float および int に一致させます。

(=\s*)([\d|\.]+)(\s*;)
  • グループ 1: 余分な空白 (\s*) を考慮して、'=' 記号の後にコンテキストが開始されます。
  • グループ 2: 1 つ以上の数字 (\d) またはピリオド (.) と一致します。
  • グループ 3: コンテキストは ';' で終わります。その前に余分な空白がある場合 (\s*) を考慮してください。

それが役立つことを願っています。

于 2012-07-31T03:50:56.150 に答える