![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_06.png?e8efa67)
現在Perlにて正規表現を用い,アクセス者のログが納めてあるlog.datからデータを検索し集計するといったアルゴリズムです.
ところが正規表現を用いたのは良いものの,アルファベット以外をパターンとして使用したとき,データを呼び出すどころか表示されない状況に陥ってしまいました.
elsif($referer =~ /abcd/i) {
$word2 = "abcd";
}
上記のコードは,パターンがアルファベットで構成されているため,正常にシステムが動作します.
elsif($referer =~ /あいうえ/i) {
$word2 = "あいうえ";
}
しかし,上記のコードはパターンが平仮名で構成されているため,冒頭で記している問題が発生してしまいます.
そこで
(1)パターンにアルファベット以外のものは使えるのか.
(2)パターンにアルファベット以外のものを使いたいときはどうすればいいのか.
についてお教えください.
また正規表現のほかに,文字列を検索し,頻度をカウントすることに長けているコードがございましたらお教え願います.
以上の内容で不明な点等ございましたら随時対応致します.
宜しくお願いします.
No.1ベストアンサー
- 回答日時:
正規表現で日本語を扱う場合、Perlでは特別な処理をしてくれないので文字(の組み合わせ)によってはなんらかのメタ文字として認識される場合があるのでそのままでは使えません。
・正規表現によるマッチングを避ける。
http://digit.que.ne.jp/work/wiki.cgi?Perl%E3%83% …
・メタ文字を無効にする。(正規表現の先頭に\Qを入れる - \Eが含まれるケースを除外しておかないと危ない)
http://www.rfs.jp/sb/perl/02/09.html#%E3%83%86%E …
※頻度によるカウントってのがよくわからないのですが。
この回答への補足
回答ありがとうございます.
ご提示なされたURLを参考にしてみます.
>※頻度によるカウントってのがよくわからないのですが。
文字列を指定し,与えられたハッシュにどれだけ存在するかを割り出し,それをカウントして値にするといったものを考えております.
No.4
- 回答日時:
$str = ' あいうえabcoaお ▲3+';
if( $str =~ /お/ ){
print "マッチ";
}else{
print "マッチしない";
}
としたらマッチしたので、アルファベット以外のでもマッチすると思いますが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) AccessVBAで任意の複数リンクテーブルをAccessVBAを動かす際に削除したいと考えておりま 1 2022/11/17 15:45
- 政治 私の発明した「二階建て漢字」は使えるでしょうか? 3 2023/02/08 16:40
- オープンソース csvデータのダブルクォーテーションで囲まれた文字内にあるカンマを削除したい 3 2022/09/02 15:17
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- ドライブ・ストレージ SSDを追加したら昔のHDDがおかしくなった 4 2023/03/23 13:25
- Excel(エクセル) VBA : スクレイピングできない 4 2023/05/12 22:26
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- CPU・メモリ・マザーボード メモリの増設について 6 2022/12/28 06:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正規表現
-
CSVファイルの中で、「 , 」カ...
-
英数字のみ全角から半角に変換
-
word差し込み印刷 半角カタカ...
-
全角英数字の必要性が理解できない
-
エクセルで数値を全角文字(カ...
-
ダブルコーテーションの置換
-
VBA 文字に半角が含まれて...
-
VBAでtxtファイルを読み込む際...
-
Excel VBAでPDFファイルをMicro...
-
WORDで改ページすると時々グレ...
-
住宅にカナを入力する際に丁目...
-
char型全角数字から、int型半角...
-
C言語でテキストファイルの内容...
-
正規表現で、全角文字を半角文...
-
CString から LPCTSTRの型に変換
-
カンマ区切りの数字をCSVフ...
-
c# ビルド直前にコードを置換で...
-
マクロを使ってフォルダー内に...
-
VB.net、テキストボックス入力...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正規表現 URL抽出「 [\\/\\b]{0...
-
シェルスクリプト [[ $number =...
-
正規表現について VB6
-
正規表現について
-
日本語環境下でのバックスラッ...
-
正規表現で2種類ある括弧を区別...
-
perlの正規表現で量指定子を繰...
-
perl初心者です。
-
言語ではなく、正規表現のみで...
-
正規表現の展開
-
正規表現
-
正規表現について教えてください
-
正規表現が解読できません。
-
pythonの正規表現、全角カタカ...
-
行末の正規表現について。
-
正規表現。行頭が○○以外にマッ...
-
配列内の要素をパターンマッチする
-
置き換えについて
-
【GVimの正規表現における検索...
-
「?」が含まれるマッチについて
おすすめ情報