- 作成者投稿
- 2011年8月25日 4:13 am #10548Autumn参加者
お世話になります
以下のようなタブ区切りのテキストがあります
AAAタブbbb(ccc)タブdddタブeee以下略
行頭から二列目の一番最初の ( まで検索をする正規表現は
下記で可能でした^([^t]*t)[^(]*(
行頭から二列目の一番最初の ( までの内容が
重複する行の行頭に●をつけるようするには、どうしたらいいでしょうbbbタブccc(ddd)タブeeeタブfff以下略
AAAタブbbb(ccc)タブdddタブeee以下略
AAAタブbbb(ccc)タブdddタブeee以下略
↓
bbbタブccc(ddd)タブeeeタブfff以下略
●AAAタブbbb(ccc)タブdddタブeee以下略
●AAAタブbbb(ccc)タブdddタブeee以下略タブ区切りテキストはあるソフトのデータを
テキスト出力したもので、処理したものを書き戻すため
できるだけ変更等加えない形で処理したいため
その方向でお願いします。2012年2月15日 12:48 pm #10951yuma10566メンバーかなり以前の質問ですが…、
まずはEmEditorのオプションで
「正規表現が改行文字に一致することが出来る」にチェックを入れた上で、
以下の正規表現で上手く行かないでしょうか。=009900]
検索する文字列:
^([^t]*t[^t]+?)(.*)n(2)([^n]*)置き換え後の文字列:
●$1$2n●$3$4解説:
^
#行頭から始まる[^t]*t[^t]+?
#「タブ以外の文字列」+「タブ」+「タブ以外の文字列」という並びと
# (ここをカッコでキャプチャしておき).*
# 残りの文字列があり(ここまでが1行目)n
# 改行で2行目へ(2)
# 前の行でキャプチャしていた内容と同一の文字列があればヒットする([^n]*)
# 置き換えのため2行目の残りの文字列もキャプチャしておく(改行を除くすべての文字)↓↓
●$1$2n●$3$4
# 1行目の内容が $1 と $2 に
# 2行目の内容が $3 と $4 に入っているので、
# ●と改行を付け足して置き換えしています2012年7月7日 3:09 am #11125Autumn参加者お返事ありがとうございます。
ご返答いただいたことに長らく気が付くず、大変失礼しました。早速、設定を変更し、試してみたのですが
うまくはいきませんでした。ですが、丁寧に正規表現の説明をいただいておりますので
自分でも頑張ってみたいと思います。 - 作成者投稿
- このトピックに返信するにはログインしてください。