正規表現No.21233
shinichi_tachibana さん 06/05/07 13:08
 
秀丸でHSPを書いています。
正規表現がわかると大変役に立つので勉強しています。
一つわからない事があるので教えてください。

*から始まる行の時は
^\*[^;]*
これでできました。
*から始まる単語の時は
\*[^ ]*
これでできました。
しかし、これだと
* 2
の*も引っかかってしまいます。
*2
だけ引っかかるようにするには、どうしたらいいのでしょうか?

[ ]
RE:21233 正規表現No.21234
たけのこ さん 06/05/07 13:18
 
こんにちは、たけのこです。

'*'は「「0」文字以上の繰り返し」なので、挙げられた表現だと「アスタリスク
に0文字以上の空白以外の文字列が続く」=「アスタリスク1文字」にヒットしま
す。
ので、
\*[^ ]+
なんてどうでしょう? でも、
\*[^ \n]+
の方がお望みなのかな?

'+'がどういう意味かは、正規表現の勉強中ということですので、ご自身で考え
てみてください(もう知っているかも)。

では! (^v^)/~

[ ]
RE:21234 正規表現No.21237
shinichi_tachibana さん 06/05/07 17:43
 
初めまして。
早速の回答、ありがとうございます。
\*[^ ]+と\*[^ \n]+両方とも自分が求めていたものでした。

+の意味、知らなかったです。
1文字以上だったんですね。
こういう時に使えばいいんだと感心しました。

>'*'は「「0」文字以上の繰り返し」なので、挙げられた表現だと「アスタリスク
>に0文字以上の空白以外の文字列が続く」=「アスタリスク1文字」にヒットしま
>す。
このように書いてくれると、とてもわかりやすいです。
自分で書いていてもいまいち理解していませんでした。

もっと勉強します。
また、わからない事があったらすみませんが
教えてくださいね。
お願いします。
では。


>こんにちは、たけのこです。
>
>'*'は「「0」文字以上の繰り返し」なので、挙げられた表現だと「アスタリスク
>に0文字以上の空白以外の文字列が続く」=「アスタリスク1文字」にヒットしま
>す。
>ので、
>\*[^ ]+
>なんてどうでしょう? でも、
>\*[^ \n]+
>の方がお望みなのかな?
>
>'+'がどういう意味かは、正規表現の勉強中ということですので、ご自身で考え
>てみてください(もう知っているかも)。
>
>では! (^v^)/~

[ ]