掲題の通り、
上記のような正規表現があり(unknown[という文字列の後から、]という文字列の前までをマッチさせる正規表現)、それ以外の文字列をマッチさせる正規表現を作成したいと考えております。
ご教示の程、よろしくお願いします。
言葉が通じそうにないので取り下げ。
ご回答いただきありがとうございます。
>unknown の前に何を許容するかによっても変わってきます。
unknown、のみを対象とし、手前の文字等は許容しない、という認識でよろしくお願いします。
なぜ質問文の正規表現は画像なのででしょうか。
どういう環境での正規表現でしょうか。
"foo unknown[ bar unknown[ baz] foo" のような入力だとどこにマッチさせたいんでしょうか。
ご回答ありがとうございます。
>なぜ質問文の正規表現は画像なのででしょうか。
terateil内で正規表現を記述した際に、エスケープ文字が反映されなかったためです。
>"foo unknown[ bar unknown[ baz] foo" のような入力だとどこにマッチさせたいんでしょうか。
上記の様な文字列が発生することはないのでなんとも申し上げられませんが、
abcdeefhjklmn unknown[123.45.789.01]
上記のような文字列が存在した場合、abcdeefhjklmn unknown[]
をマッチさせたいと考えております。
よろしくお願いします。
どういう環境での正規表現でしょうか。
この問題、おそらく look behind で * や + が使えないとムリです。それができる正規表現エンジンは限られます。
vbaにて、あるテキストファイルを指定した際に正規表現を用いて文字列をコピーしようとしております。
厳しいでしょうか。
VBA に標準の正規表現エンジンは乗っていません。Windows の提供する RegExp オブジェクトを使用するのが定石ですが、これに先読み後読み言明はありません。
他の正規表現エンジンを使うか、正規表現を使わず文字列関数を使うか、あるいは複合的に手段を組み合わせる必要があります。
> terateil内で正規表現を記述した際に、エスケープ文字が反映されなかったためです。
書き方が悪いからですね。
コードは、バックスラッシュで前後に挟むか、
バックスラッシュ3つの行で上下に挟むかです(普通は「コードの挿入」というアイコンをクリックしてその「コード」の部分にコードを書きます)。
あなたの回答
tips
プレビュー