c++boostライブラリの正規表現のいくつかの経験


まず、私のマッチングは次のように設定されています.
//大文字小文字regex expression(str_pattern,boost::regbase::normal|boost::regbase::icase);
一致する文字列に二重引用符が含まれている場合
例えば、acp「abc」dggは、c++の中で以下のように書かれています.
string aa = "acp\"abc\"dgg"; 
中のabcを抽出するには、patternはどのように書くべきですか?
法則を探して、このように書けばいいことを発見しました.
string pattern = "p\"(.*?)\"d"; 
一致する文字列に2つのスペースがある場合、acp「abc」dggは+で代用できます(前にスペースがあり、プラス記号は1回または複数回繰り返す意味です)
string pattern = "p +\"(.*?)\"+d"; 
ネット上の検索では、boostマッチングルールは、formatの制限が異なるため、他のregexライブラリとは異なる可能性があることに注意してください.
(参考文献:http://blog.csdn.net/sammy_chan/article/details/8440230)
Escapesエスケープ:cX ASCIIエスケープシーケンス-文字コードポイントX%32xdd 16進エスケープシーケンス-一致コードポイント0 xddの単一文字.x{dddddd}16進数エスケープシーケンス-一致符号点0 xddddの単一文字.0 ddd 8進数エスケープシーケンス-一致符号点が0 dddの単一文字.N{name}一致記号名nameの単一文字.たとえば、N{newline}は単一の文字に一致します. 
つまり、オンラインクエリによって文字の16進ASCIIコードを得ることができます.
http://www.goberl.com/functionAspx/regex.aspx
たとえば、半角の二重引用符を一致させるには、「点クエリー」と入力します.次のような結果が得られます.
      	"
   ASC 	34
    ASC 	22
   ASC 	42
       	\u0022

boostのマッチングフォーマットに従って、xddを例にとると、x22と書くべきです.
以下に必要なテストを行います.
string pattern = "p\\x22(.*?)\\x22d"; 
最終的にマッチ発見に成功!^
一般的な正規表現:
http://www.jb51.net/tools/regex.htm