2011-07-21 7 views
1

私は、ラベルの名前を取得する正規表現が必要です。ラベルは次のようになります。複数のスペースを扱う正規表現を書くには?

lbl LabelName 

正規表現はLabelNameを返す必要があります。

(?<=\slbl\s).+?(?=\s) 

「lbl」と「LabelName」の間に1文字しかない限り、これは問題なく動作します。スペースを2つ以上追加すると余分なスペースが返されます。

(?<=\slbl\s+).+?(?=\s)を試しましたが、動作しません。

+0

正規表現を使わずにaを使って解決しました。私はしばらく前に作成したレクサーを使用しました。 –

+0

あなたのコメントを回答として追加することができます。投稿できますか? (それが十分に短く、あなたがそれを所有している場合、レクサーのコード –

答えて

1

次の正規表現は機能しますか?

lbl\s+([^\s]+) 
0

あなたは 'LBL' 部分に余分なスペースを維持し、まだこのようなものでLabelNameをキャプチャすることができます:^lbl\s+(\S+)$

^lbl\s+(.*) 
1

はこれを使用します。第1グループではLabelNameを取得します。