2011-12-28 11 views
0

私はread a * .cppファイルを計画しています。私は正規表現に対して各読み取りラインを比較したいと思います。私。readlineと正規表現の比較

# include <iostream> 

空白を除いて#で始まるかどうかチェックしたいと思いますか?

+1

はい。 '#。* \ S'のようなものは信じています。 – AJG85

+0

@ AJG85どうやってそれを読むのですか?ハッシュの後ろに何度も何度も...そして\ Sフィッティングはどうですか?行がハッシュで始まらず、スペースが少ない場合はどうすればよいでしょうか?あなたのパターンは機能しますか? – user336635

+0

'#'はリテラルで '。*'は0以上です '\ S'は"空白ではない "という意味のPerlの短縮形です... Posixに準拠するには' [^ [:space:]] 'を使うことができます"空白でない" – AJG85

答えて

1

あなたが必要とするすべての行の最初の非空白文字が動作するはずという#であることを確認する場合:

^\s*# 
  • ^アンカー正規表現の行の先頭に、あなたがチェックを開始してそれは宇宙のシンボルの
  • \sスタンド(スペース、タブ、改行)
  • *最初の文字からそのCでの前の文字(スペースのゼロ個以上の繰り返しを意味しますASE)
  • #を空白のシーケンス後の最初の記号は(空の場合もある)あなたがその正規表現を使用しますどのように#

であることを確認するために、あなたは読書と解析のために使用するつもりどの言語に依存しますそのファイル。

+2

ゼロまたは1以上ではありません。 – user336635

+0

ありがとうございます。答えを更新しました。 –