[過去ログ] BOOSTを語れゴラァ (1001レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
375(3): 2005/04/18(月)00:27 AAS
boost::regexで、括弧の入れ子構造を理解させる事ってできますか?
多分できないと思うんですが…
例えば↓このような文字列があった場合に、
123(abc(...)def)456(...)789
(abc(...)def)
の部分にだけマッチさせたい、とかいう時です
単純に(.+)だと
(abc(...)def)456(...)
にマッチしてしまう
(.+?)にしたら
(abc(...)
の部分にマッチする
面倒なんでもう関数書いてやる事にしましたが、
こういう多少面倒なパターンマッチって可能なんですかね?
perlでも面倒臭そう
377: 2005/04/18(月)00:43 AAS
>>375
正規表現で対応関係を表現することは(理論上、すなわち絶対に)出来ません。
379: 2005/04/18(月)01:15 AAS
>>378
>>375は任意の深さの入れ子にマッチさせたいのであろう。
383: 375 2005/04/18(月)02:13 AAS
むっはー、こんな短時間でこんなにレス付いてビビった
>>378
aaa(...)bbb(...)ccc
という文字列に対してそのパターンを使うと(...)bbb(...)にマッチしてしまう
自分は最初の(...)と、次の(...)にだけちゃんとマッチさせたかったので
つまり何をしたかったかというと、
一番浅い階層の括弧だけ見つけ出して(この時点じゃ、その中にまだ括弧が入ってるかどうかはどうでもいい)、
とりあえず除外しておく、残った部分の文字列を処理する
次に、さっき除外した部分の括弧に対して、今の関数を再帰的に呼び出して処理
これを繰り返して入れ子構造になった括弧を処理していく…、って事をしたかったわけです
あとやっぱこれくらいの処理だったら、
これのために知らないライブラリを新たに導入するよりは、
自分で適当な関数一つ書いちゃった方がいいかな
括弧の対応が取れてなかった場合はエラー出したいとかいうのもあるし
>>376
それ面倒臭そうだけど興味深い存在ではありますね
今度調べてみよっと…
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.035s