カレッヂ |
質問者 隆次郎
投稿日 2004/2/25(水) 00:30:21
if ($YOMI =~ /^([\x00-\x7F]|[\x8E\xA1-\xFE][\xA1-\xFE]|\x8F[\xA1-\xFE]{2})*$FORM{'YOMI'}/i) { ; } else { next; } が途中一致 if ($YOMI =~ /^$FORM{'YOMI'}/i) { ; } else { next; } が前方一致とわかっているのですが 例えばヨミで「ア」のみの前方で完全一致検索させるにはどうしたらいいのでしょう。 「アカ」「アオ」などは要らず「ア」一文字の前方一致完全一致検索です。
プロバイダ参照: |
回答者 しあわせのツボ
[削除]
投稿日 2004/2/26(木) 17:45:58
Perlのパターンマッチは全文検索が基本です。 で、前方一致にしたければ通常は先頭に^を、後方一致にしたければ同様に末尾に$をつけます。 そして、前方一致と後方一致を同時に適用したらどうなるかと言えば…(笑) でもまあ、完全一致なら普通はeq演算子を使いますね。 |
質問者 隆次郎
[削除]
投稿日 2004/2/26(木) 22:29:42
しあわせのつぼ 様、 貴重なアドバイス(発想)有難うございました。 前方と後方を同時にさせるとは、思いつきませんでした。 実はある項目に数値データがあり、それを選ぶときに 1だと10番台もヒットしてしまうので、 eq演算子を使ったら何故かうまく機能しませんでした・・ |
回答者 しあわせのツボ
[削除]
投稿日 2004/2/26(木) 23:39:00
数値なら普通に==で比較するのがベストでは。 eqは文字列コンテクストなので、末尾に改行コードがあったような時に 期待しない動作になります。 |
返信(回答)する
Web裏技 |