Objective-C の文字列内で「Java スタイル」のコメントを見つけて処理しようとしています。
ほとんど機能する正規表現のスニペットがいくつかありますが、1 つのハードルで立ち往生しています。さまざまなオプションがさまざまなスタイルを機能させるようです。
たとえば、これを使用して一致させています。
NSArray* matches = [[NSRegularExpression regularExpressionWithPattern:expression options:NSRegularExpressionAnchorsMatchLines error:nil] matchesInString:string options:0 range:searchRange];
ここのオプションを使用すると、単一行のコメント (//) を正常に検索して処理できますが、複数行 (/* */) を検索して処理することはできません。一行コメントの。
本当に dot-matches-line-separators が必要だと思いますが、1 行のコメントの終わりを見つけるより良い方法が必要ですか?
私がこれまで持っている正規表現は次のとおりです。
@"/\\*.*?\\*/"
@"//.*$"
ドットが行セパレーターと一致するかどうかは明らかですが、2番目の行(単一行)は決して「終了」しませんが、これを修正するにはどうすればよいですか? 次のような単一行の提案がいくつか見つかりました。
@"(\/\/[^"\n\r]*(?:"[^"\n\r]*"[^"\n\r]*)*[\r\n])"
しかし、それはまったく機能していないようです!
ご指摘ありがとうございます。