1

行の正規表現(単一の行を抽出する)と共通の列の正規表現(各行から列を抽出する)を取り込むエンジンがあります

しかし、以下の例のテキストを共通のインデックスを持つ列に抽出できる共通の列正規表現を取得するのに問題があります(これはエンジンによって行われます)

テキストの例:ここでテストできます

/misc/qk12              (innfs1:/vol/fs06/qk12  ) : 314572800 total allocated Kb
                                                  62636476 free allocated Kb
                                                  251936324 used allocated Kb
                                                        81 % allocation used
/home/psum           (innfs2_42:/vol/goshihome/goshihome/home/psum) : 2349649104 total allocated Kb
                                                  405498596 free allocated Kb
                                                  1944150508 used allocated Kb
                                                        83 % allocation used
/home/aman           (innfs2_42:/vol/goshihome/goshihome/home/aman) : 2349649104 total allocated Kb
                                                  405498596 free allocated Kb
                                                  1944150508 used allocated Kb
                                                        83 % allocation used
/u01                   (/dev/vg00/u01vol      ) :  9559429 total allocated Kb
                                                   4077136 free allocated Kb
                                                   5482293 used allocated Kb
                                                        58 % allocation used

現在テスト中

最初の2行\s+は、各行を関連情報のインデックスに分割する0,1,3,7,11,15のに適していますが、に余分なスペースがあるため、次の2行では失敗します(innfs1:/vol/fs06/qk12 )

したがって、直接の文字で終わらないすべてのスペースに一致する正規表現を誰かが手伝ってくれるかどうか疑問に思いました)

4

2 に答える 2

1

正規表現の最後で前向きな先読みを試してみることをお勧めします。ポジティブな先読み部分はキャプチャされませんが、一致を絞り込むのに役立ちます。

\s+(?!\s*\))

(?! )構成は丸括弧で定義されたグループであり、その?!部分はキャプチャされない先読みを作成します。つまり、グループは一致の一部として使用されますが、そのグループによって一致したコンテンツは一致の出力に含まれません。 。

\s*「0個以上のスペース」を作成し\)、スペースの後に角かっこが必要です。

先読み/後読み(ルックアラウンド)正規表現の説明を含む非常に優れたページへの参照:http://www.regular-expressions.info/lookaround.html

于 2012-07-27T07:44:15.373 に答える
0

私の最初の考えは、ブラケットを否定することです。(\ s *?!\))

于 2012-07-27T07:30:43.610 に答える