行頭以外のスペースを取りたいのですがNo.09828
og さん 01/09/24 13:17
 
正規表現で教えて下さい。
行頭に全角スペース、行内に全角、半角スペースが
あるのですが、行頭のスペースはそのままで、
それ以外のスペースを取りたいのです。
***以外は[^]を使うと思うのですが、「行頭」の[^]と
ダブってしまうので頭を悩ませています。
よろしくお願いします。

[ ]
RE:09828 行頭以外のスペースを取りたいのNo.09829
TAKA さん 01/09/24 15:25
 
TAKA です。

>行頭に全角スペース、行内に全角、半角スペースが
>あるのですが、行頭のスペースはそのままで、
>それ以外のスペースを取りたいのです。

置換元に、
[^  ]\f[  ]+
置換後に、
\0
で希望通りになると思います。

空白の前に空白以外のものがあれば、空白の前の文字を残すという
考えです。

私の知る限り、行頭以外という表現は知りません。

[ ]
RE:09828 行頭以外のスペースを取りたいのNo.09830
ひろ さん 01/09/24 16:31
 
 og さん今日は、ひろです。
> 行頭のスペースはそのままで、
> それ以外のスペースを取りたいのです。
 タグ付き正規表現を使えばよいのではないでしょうか? 具体的には、
検索文字列:.\f[  ]
置換文字列:\0
とします。

[ ]
RE:09830 行頭以外のスペースを取りたいのNo.09831
TAKA さん 01/09/24 16:57
 
TAKA です。

> タグ付き正規表現を使えばよいのではないでしょうか? 具体的には、
>検索文字列:.\f[  ]
>置換文字列:\0
>とします。

行頭の空白が1文字以外の時には正常に動作しないので、
「#09829」で書いたとおり、
[^  ]\f[  ]+
が良いと思います。

[ ]
RE:09831 行頭以外のスペースを取りたいのNo.09835
ひろ さん 01/09/24 20:21
 
 TAKA さん今日は、ひろです。
> 行頭の空白が1文字以外の時には正常に動作しないので、
 この場合を考慮していませんでした。

[ ]
RE:09829 行頭以外のスペースを取りたいのNo.09844
山紫水明 さん 01/09/25 21:26
 
 TAKAさん,ひろさん,こんばんは。

》置換元に、
》[^  ]\f[  ]+
》置換後に、
》\0
》で希望通りになると思います。

 秀丸V3.08ではこれで問題ありませんが,「 [^  ] 」が改行文字を含むかどう
かは微妙なところで,私の別の発言(#9833以下)での問題の解決のされ方によって
は「  [^  \n]  」とする必要が出てくるかもしれませんね。

     では, (^^)/~
                                        山紫水明

[ ]
RE:09844 行頭以外のスペースを取りたいのNo.09845
TAKA さん 01/09/25 22:08
 
TAKA です。

>》置換元に、
>》[^  ]\f[  ]+
>》置換後に、
>》\0
>》で希望通りになると思います。
>
> 秀丸V3.08ではこれで問題ありませんが,「 [^  ] 」が改行文字を含むかどう
>かは微妙なところで,私の別の発言(#9833以下)での問題の解決のされ方によって
>は「  [^  \n]  」とする必要が出てくるかもしれませんね。

いいえ、必要ありません。
秀丸では正規表現内の「\n」の数+1行が対象になるためです。
「\n」が0個ですので、0+1で1行しか対象にならないためです。
そのため2行以上が処理の対象になることはありません。

[^  \n]\f[  ]
のように「\n」を入れたり、後ろの「+」をのけても正常に動作は
します。
後は、好みの問題となります。


ちなみに、[^A-Z]を検索する場合、改行にヒットするのが正解です
ので、
「#09833」では、上検索で改行にヒットしないのが不具合です。
以前は、改行にヒットしないのが仕様でしたが、ヒットするという
ように仕様が変更されました。
「hidesoft.2:08661 2001/05/16」のスレッド内の、「#08676」を
参照。

[ ]
RE:09845 行頭以外のスペースを取りたいのNo.09846
山紫水明 さん 01/09/26 08:13
 
 TAKAさん,こんにちは。

》秀丸では正規表現内の「\n」の数+1行が対象になるためです。
》「\n」が0個ですので、0+1で1行しか対象にならないためです。
》そのため2行以上が処理の対象になることはありません。

 現在の仕様ではそうですね。

》ちなみに、[^A-Z]を検索する場合、改行にヒットするのが正解です
》ので、
》「#09833」では、上検索で改行にヒットしないのが不具合です。

 この不具合をなおしたときの副作用が上記仕様に何らかの影響を与えないかなと
ふと思いましたが,杞憂かもしれません。現在の段階で考えても仕方ないことです
ね。余計な書き込みだったようです。<m(__)m>

     では, (^^)/~
                                        山紫水明

[ ]
RE:09829 行頭以外のスペースを取りたいのNo.09873
og さん 01/09/28 18:16
 
TAKAさん、ありがとうございます。

>置換元に、
>[^  ]\f[  ]+
>置換後に、
>\0
>で希望通りになると思います。

これで思うことができました。
ありがとうございました。

[ ]