2012-05-02 16 views
0

私はregex.hを使ってc/C++で正規表現を使用しようとしています。 私は例えば、先読みオプションを使用しようとしています:Cの正規表現は先読みをサポートしていますか?

(?=>#).* 

それはどんな試合を見つけることができないいくつかの理由で「#」

後の文字列を抽出するために。 regex.hはlookahead/lookbehindをサポートしていますか?私は使用できる別のライブラリがありますか?

私は、Linux上で、regex.hを使用しています。

+2

(とあなたがそれを行うとき、用ドキュメントを見ては、最初のライブラリ言いました)。 –

+2

最初にこれを先読みするのはなぜですか?私は '#(。*) 'のようなグループを使う方がより一般的な方法だと思います。 – FatalError

答えて

1

私はNSRegularExpressionがサポート先読みを行いlibicuための単なるラッパーであり、かなり確信しています。あなたの例ではタイプミスがあり、正しい構文はリンクに従って(?=#).*です。

それは本当に理由だけではなく#.*、しかしこの場合に必要とは思えませんか?

1

私は本当にあなたが、先読みない話をしている後読みだ疑い。それは(?<=#).*になりますが、なぜそれはとても複雑になりますか?一部の他のレスポンダが示唆しているように、単に#(.*)を使用して、キャプチャグループから目的のテキストを取り出すのはなぜですか?

また、あなたは本当にNSRegularExpressionを使用していますか?それはAppleのiOS/MacOS開発者フレームワークのObjective-Cクラスだから、そうは考えにくい。 CやC++でもないが、おそらく私たちはあなたが使用しているライブラリを知らせなければならない正規表現をネイティブでサポートがあることを考慮すると

+0

元の質問には「NSRegularExpression」と書かれています。 OPはそれを後で編集した。 –

関連する問題