記事閲覧

− 野ざらし言 −

4372 解決(だと思う)

文太 2014/04/19(Sat) 18:25 [4371]へのコメント
めざらさん

 ・BREには「+」がない。
 ・セロリはBREなsedに「+」を特別に追加した。
-----
翻訳:pcs12073/SPICA 昭和63年3月20日(日)のセロリsed.docより
 正規表現の文法におけるいくつかの拡張を行っています。
◇正規表現において'+'は、前にあるパターンの1回以上の繰り返しを
意味します。
-----
 ・OnigsedのBREモードで「+」を使いたければ、「\+」とする。

 というわけで、

>type t3.sed |to
s/\([^:.,]\+\):\([^:.,]\+\),\([^:.,]\+\):\([^:.,]\+\)./\2:\1,\4:\3./g

>type t2.txt |to
監修:ABC,著者:DEF.監修:ABC,著者:DEF.

>onigsed -f t3.sed t2.txt |to
ABC:監修,DEF:著者.ABC:監修,DEF:著者.

 です。同じスクリプトで通したり、それをコマンドライン・オプションで違いを吸収したりは、駄目です。もう頭いっぱい。

 EREの[^:.,]+をBREで表現するには、[^:.,][^:.,]*とするのだったと思います……。本当だっけ?

関連記事一覧ツリー (▼ を押すとツリー全体を一括表示します)

- 4230.過去ログにありますでしょうか - キャロル 12/10/28-17:44

返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

おなまえ :
Eメール :
タイトル :
メッセージ: 通常モード(推奨)  整形モード(非推奨)  preモード(空白再現)
※ プログラムコード等を含まない場合は,できるだけ通常モードをご利用ください。

参照先 :
暗証キー: (英数字で8文字以内) プレビューなし


- 以下のフォームから自分の投稿記事を修正・削除することができます -

処理 記事No. 暗証キー