regex.h を使用して c/c++ で正規表現を使用しようとしています。たとえば、先読みオプションを使用しようとしています。
(?=>#).*
「#」の後の文字列を抽出するため
何らかの理由で、一致するものを見つけることができません。regex.h は先読み/後読みをサポートしていますか? 私が使用できる別のライブラリはありますか?
Linuxでregex.hを使用しています。
あなたが話しているのは本当に後読みであり、先読みではないと思います。しかし(?<=#).*
、なぜそれをそれほど複雑にするのですか? 他のレスポンダーの何人かが提案したように、単に使用#(.*)
して、キャプチャ グループから目的のテキストを引き出してみませんか?
また、本当に NSRegularExpression を使用していますか? Apple の iOS/MacOS 開発者フレームワークの Objective-C クラスであることを考えると、それはありそうもないことです。
NSRegularExpression は libicu の単なるラッパーであり、先読みをサポートしていると確信しています。例にタイプミスがあります。正しい構文は(?=#).*
リンクに従っています。
ただし、この場合は実際には必要ないよう#.*
です。