ViVi SPR System build 0025 project:
Mail: Pass:
[ 新規アカウント作成 | パスワード忘れ ]
[ 新規SPR | SPR一覧 | コメント一覧 | statistics | 最新ビルド:3.08.042 | crash履歴 | SPR DB 一覧 | ユーザ一覧 | 使い方 | レポートの書き方 ] [ ViVi Home ]
一覧表示: [ New | Pend | Open | Reopen | Fixed | NPTF | 問題優先順 | 問題vote順 | 優先順 | vote順 | 重要度順 | Ref,ToDo | Help不備 | 対処順 ]
[ 前のSPR | 次のSPR ]
SPR#0271 0 point voted
状態:Close結果:対処優先度:C重要度:C
報告日:12/04/27build:3.08.031OS:WinXPby:アムネシア
概要:文字列置換での \( 部分文字列 の動作の異常
詳細:■ 操作前状態:
空行のあるテキストを用意する。
例)
aaaa
bbbb
[空行]
cccc
[空行]
dddd
[EOF]

※検索・grep に於いて、以下のように設定しています。
正規表現 :'('   '('にマッチ

■ 具体的操作:
次のコマンドを発行する。
:%s/\(.\)$/\1。/g

意図)何らかの文字がある行の末尾に「。」を付加したい。

■ 操作後状態:
aaaa。
bbbb。
b。
cccc。
c。
dddd。
[EOF]

前の行でマッチした部分文字列が次の空行に影響しているようです。

■ 期待する状態:
aaaa。
bbbb。
[空行]
cccc。
[空行]
dddd。
[EOF]

期待)空行には何も付加されず、空行のままとしたい。

■ 補足・再現条件:
発行するコマンドを以下のように変えた場合は、期待する状態になります。
:%s/\(..\)$/\1。/g

発行するコマンドを以下のように変えた場合は、以下の様な結果となります。
:%s/\(.+\)$/\1。/g
意図)+表記する事で、文字が無い行(空行)を、明白に対象外とした(つもり)。
↓結果
aaaa。
bbbb。
bbbb。
cccc。
cccc。
dddd。
[EOF]
添付画像:
point:20対処日:12/05/13build:3.08.033close日:12/05/14
#1 つだ (12/05/03 20:51:36)
あああ、対応が遅くなってすみません。m(_ _)m

/(.)$ だと空文にマッチしないのに
:%s/(.)$/after/ だと空文にマッチしますね。

何故だろう・・・
調査します
#2 つだ (12/05/13 08:26:22)
ながらくおまたせしました。
本件は 3.08.033 で対処できたと思います。
ご確認のほど、よろしくお願いします。
#3 アムネシア (12/05/14 10:01:29)
対応多謝。確認しました。
[ 新規SPR | SPR一覧 | コメント一覧 | statistics | 最新ビルド:3.08.042 | crash履歴 | SPR DB 一覧 | ユーザ一覧 | 使い方 | レポートの書き方 ] [ ViVi Home ]
一覧表示: [ New | Pend | Open | Reopen | Fixed | NPTF | 問題優先順 | 問題vote順 | 優先順 | vote順 | 重要度順 | Ref,ToDo | Help不備 | 対処順 ]


優先度:重要度(Severity):
 A:最優先で対処  A:通常操作でのクラッシュ・無限ループ
 B:必ず対処  B:特殊な条件、環境でのクラッシュ・無限ループ、非常に重要な動作不良
 C:原則対処  C:機能が動作しないなどの普通の動作不良
 D:簡単であれば対処 D:些細な動作不良で、簡単な代替手段があるもの
 E:NPTF候補 E:ミススペルや誤った文章など、機能そのものの動作に影響を与えない、さほど重要ではないもの
  H:ヘルプの不備
  M:メモリリーク
  P:パフォーマンス問題
  R:リファクタリング
  T:機能強化要望(Enhancement)、ToDo
  X:XT(eXtreme Toolkit)に由来する問題