0

数値列のみに一致する正規表現が必要です。数値列の各行には、小数点とマイナス記号と文字「e」が含まれる場合と含まれない場合があります。また、各列の間の空白の数がたまたま複数になる場合もあります。また、列数は固定されていません。

私が解析しているテキストの代表的なサンプル。

  #B0 alphanumeric line 26_0000 abc
#B1  57 115 550.000000 270.000000 
#N 18
#Labels X Y  Something  Else Here
-16.3252 -11.205718    0 2.61836e-07 110
-16.1728 -10.90549    0 2.61836e-07 87 
-16.0228 -10.605516    0 2.61836e-07 50 
-15.8728 -10.305796    0 2.61836e-07 31
-15.7229 -10.005822    0 2.61836e-07 49 
-15.5727 -9.705594    0 2.51826e-07 4998
-15.4228 -9.40562     0 2.71836e-07 176

Some alphanumeric  -14.9729 is 24678   COM at -14.7531   
Sum = 147364  Ave.Mon./Time = 136117 
4

1 に答える 1

2

あなたが何を求めているのか正確には少しわかりませんが、少なくとも正しい方向に向けさせてください...

あなたはこれを知っています:

\d*(?:\.\d+)*

10 進数に一致します。したがって、これを拡張して、次のように負の数にも一致させることができます。

-?\d*(?:\.\d+)*

そして、これをさらに拡張して、末尾に「e-...」が含まれる数字に一致させることができます。次のようにします。

-?\d*(?:\.\d+)*(?:e-\d+)?

最後に、空白で区切られたこのような数字のみを含む行全体を検索する場合は、次を使用できます。

^(?:-?\d*(?:\.\d+)*(?:e-\d+)?\s*)*$
于 2013-07-25T14:25:38.103 に答える