236. Re: 正規表現,メタキャラ“ ? ”の値?


番号順一覧Top スレッド順一覧Top
作者: WATANABE Hirofumi
日時: 2003/1/18(03:08)
わたなべです。

Penelotty <YIX06325@...> writes:

> 例えば下記のような,命令があるとします,
> 
> $lovelove=~s/前田愛|愛|前田亜季|亜季|中田あすみ|あすみ|村田ちひろ|ちひろ|村上東奈|東奈(ちゃん)?/<font color=#ff0000>$1<\/font>/g;
> 
> このとき“?”へのHITが0回の時は,実質的に“1)”のような挙動をおこさせる,
> 1回の時は“2)”のように実行させたいのです.
> 
> 1).$lovelove=~s/前田愛|愛|前田亜季|亜季|中田あすみ|あすみ|村田ちひろ|ちひろ|村上東奈|東奈(ちゃん)?/<font color=#ff0000>$1ちゃん<\/font>/g;
> 2).$lovelove=~s/前田愛|愛|前田亜季|亜季|中田あすみ|あすみ|村田ちひろ|ちひろ|村上東奈|東奈(ちゃん)?/<font color=#ff0000>$1<\/font>/g;
> 
> トリックでなく,正道なスクリプトとして可能でしょうか?

という回りくどい説明じゃ何をしたいのかいまいちよくわからないのですが、
要するに
  o 必ず「ちゃん」をつける
  o でも「ちゃんちゃん」になっては困る
ってことですか?

だったらこうとか(面倒なので途中省略)。
$lovelove = "愛愛ちゃん";
$lovelove =~ s/(前田愛|愛|前田亜季|亜季)(ちゃん)?/<font color=#ff0000>$1ちゃん<\/font>/g;

つまり「愛」も「愛ちゃん」も「愛ちゃん」に変換すればいいんです。
ちょっと無駄だけど。

-- 
わたなべひろふみ
前の発言: 235. Re: 正規表現,メタキャラ“ ? ”の値? [藤岡和夫] 2003/1/17(23:29)
後の発言: 237. Re: 正規表現,メタキャラ“ ? ”の値? [Penelotty] 2003/1/23(14:57)
親発言: 233. 正規表現,メタキャラ“ ? ”の値? [Penelotty] 2003/1/17(16:36)
子発言: