13

http://msdn.microsoft.com/en-us/library/bb982727.aspxでこれに関する情報を見つけることができませんでした。

'[^]+' を使用してすべてに一致させることができるかもしれませんが、それはハックのように思えますか?

ありがとう。

4

4 に答える 4

14

Boost.Regex にはmod_s、ドットを改行に一致させるフラグがありますが、TR1 正規表現標準の一部ではありません。(そして、私が見る限り、Microsoft拡張機能としても利用できません)

回避策として、使用できます[\s\S](これは、空白または非空白に一致することを意味します)。

于 2010-01-12T21:32:24.930 に答える
9

C++ 正規表現は ECMAScript 正規表現に基づいているように見えるため、JavaScript での同じことに関する最近の質問への回答が役立つ場合があります。

[^]動作するはずですが、もう少し明確でハックの少ないものが必要な場合は、 を試すことができます(.|\n)

于 2010-01-12T21:38:39.987 に答える
5

人々が使用する 1 つのトリックは、null 文字以外のものを含む文字クラスです。ヌル文字は 16 進数で表されます。次のようになります。

[^\x00]+
于 2010-01-12T21:31:04.370 に答える
1

正規表現の非 ECMA フレーバーに切り替えることができます (regext フレーバーを制御するためのフラグが多数あります)。私の記憶が正しければ、どの POSIX 正規表現も、改行を に一致させる必要があります.

于 2010-01-12T22:00:48.563 に答える