
正規表現でタブ区切りの文字列の順序を入れ替える作業を試みています。
AAA BBB CCC
PPP QQQ RRR
のような文字列を
BBB CCC AAA
QQQ RRR PPP
のように2列目、3列目、1列目のように順番を入れ替えたいです。
VBScriptで1行ずつ読み込み、タブを区切り文字として、配列に放り込み、配列の順番を指定して出力すればなんとか対応できるのですが、どうしてもさくらエディタで実装したいのですが、正規表現を駆使して対応できないものでしょうか?
検索により、パターンにマッチする部分は正規表現で2列目とか3列目というのは書けるのですが、パターンマッチだけで、置換後の文字列に変数などを使用できず苦しんでいます。
正規表現を用いていれればいいし、無理なら、さくらエディタで秀丸のように配列やFOR文などを使いたいのですが、使い方がわからず、質問しました。
ご存知の方がいらっしゃれば、教えてください。
No.1ベストアンサー
- 回答日時:
ここの
「拡張式集合」
「置換で使える参照」
の組合せです。
(1列目の正規表現)\t(2列目と3列目の正規表現)
というように検索文字列を設定すると
グループ1: 1列目
グループ2: 2列目と3列目
となります。
これで、置換側で
$1
とすると、グループ1で取り込んだ内容で置換されます。$2には同様に2列目と3列目が入っているので
$2\t$1
とすれば、順番が入れかわります。
()でグループ化して取り込み→ $1,$2...で利用
というのは、常套手段ですので覚えておきましょう。
ちなみに、秀丸でもほぼ同様にできます。
正規表現でうまく表現できないような複雑なケースでもない限り、forなどのマクロを作る必要はありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
自作scratch アニメの商用利用
-
画像生成AIのプロンプトの作り...
-
pythonの実行に関する質問
-
vba クリップボードクリアにつ...
-
パイソンのソースコードをChatG...
-
数学、プログラミング、物理、...
-
pip --versionがエラーになる
-
OS入ってる機器のソフト・アプ...
-
Python... 環境設定 初心者です...
-
Python 3.12.2 か一番最新のパ...
-
CSVファイルの複数行削除
-
AIがプログラムする時代のプロ...
-
IT業で開発をされてる方々に質...
-
共テのプログラミング言語はPyt...
-
初心者powershellのPS1ファイル...
-
PowerAutomateで運賃検索がした...
-
AIのプログラムについて教えて...
-
プログラミングの進学について
-
過剰なオブジェクト指向脳から...
-
Google ColaboでGUI作成
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba クリップボードクリアにつ...
-
画像生成AIのプロンプトの作り...
-
Geminiフォーム 画像生成で 人...
-
CSVファイルの複数行削除
-
数学、プログラミング、物理、...
-
pip --versionがエラーになる
-
Python... 環境設定 初心者です...
-
pythonの実行に関する質問
-
Python 3.12.2 か一番最新のパ...
-
OS入ってる機器のソフト・アプ...
-
パイソンのソースコードをChatG...
-
Google ColaboでGUI作成
-
VBAでパワーシェルを実行したい...
-
HTMLソースが表示のページのも...
-
ネットワークフォルダの中身を...
-
Pythonのエラーメッセージをコ...
-
Webサイト内に埋め込んだmp4動...
-
google Colabでmatplotlibの描...
-
初心者powershellのPS1ファイル...
-
Pythonについて。
おすすめ情報