No.5ベストアンサー
- 回答日時:
#3の方がお書きの[a-z-]が正しいわけですが、
・文字クラスの中でハイフン - を含めたいときは、途中に書くと範囲指定になるので、先頭または末尾に書きます
・文字クラスの中で山記号 ^ を含めたいときは、先頭に書くと否定になるので、先頭以外に書きます
・文字クラスの中で大括弧閉じ ] を含めたいときは、先頭以外に書くと文字クラスの終わりになるので先頭に書きます
・他の文字は [ ( ) { } | $ * + . なども文字クラスの中では特殊な意味を失うのでそのまま書きます
・\ も本来は文字クラスの中では特殊な意味を失い、\ という文字自身を指すのですが、このあたりはプログラムに寄っては動作が異なるようです
文字の置く場所で意味が変わってくる訳ですね。
正規表現は奥が深いです。
これらの項目は今後も参考にさせていただきます。
有難うございます。
No.4
- 回答日時:
英数半角文字と書いといて a-z なのはなぜでしょうか?
これだと大文字は対象から外れてしまいます。
で、何の正規表現を使おうとしてどういうエラーになったのかがわからないとなんともならんのですが、
正規表現を文字列として与える言語であったりすると
([a-z\-]+)
は
([a-z\\-]+)
のように二重にエスケープしないとダメかもしれません。
大抵は #3のTacosanさんのいう [a-z-] で大丈夫のはずなんですが
#例外はあります。
>#1どの
>「または」という場合の結合子は|(垂線)です。
> "[A-Z|a-z|\-]"が半角英字とハイフンの検出パターンです。
ブラケットの中では | は or の意味を持ちませんよ。
すみません。環境はPHPで、
.htaccessで
RedirectMatch permanent category_([A-Za-z-]+)_([0-9]+)_Sales_1.html$ /$2/
と移動させたいのですが、
通りません。
([A-Za-z-]+)
は、RewriteRuleではうまくいったのですが、
RedirectMatch permanent では使えないのでしょうか
No.3
- 回答日時:
一口に「エラーになる」と言われても「どのプログラムで」「その正規表現をどのように与えて」「どのようなエラーが表示されるのか」が分からんと本当はいかんともしがたい.
事実正規表現といってもプログラムによって微妙に違ったりするんだけど, これくらいはたぶんおなじだろうなぁ.
普通には
[a-z-]
でいいはず.
これでダメなら最初に書いたように使ったプログラムの名前とか表示されたエラーメッセージとかを書いてください.
No.2
- 回答日時:
[a-z\-]+
で、小文字のaからzまでと-を1回以上の繰り返しになります。
処理系によって微妙に解釈が異なる事ありますが、
グループ化の()を\(\)としたり、+を\+にしないと動作しない場合もあります。
http://www.kt.rim.or.jp/~kbk/regex/regex.html
参考URL:http://www.kt.rim.or.jp/~kbk/regex/regex.html
参考URL、とても詳しく解説されてますね。
まだ理解不能な部分が多いですが、
今後このサイトを参考にさせていただきます。
ありがとうございます。
No.1
- 回答日時:
正規表現と言っても言語仕様により微妙に違います。
「または」という場合の結合子は|(垂線)です。
"[A-Z|a-z|\-]"が半角英字とハイフンの検出パターンです。
http://msdn.microsoft.com/ja-jp/library/cc392020 …
上記の言語仕様を想定しています。
.htaccessにおける「|」はエラーになりました。
プログラミング言語も無数にありますね。
VB関連は挫折中です。
ご解答ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ソフトウェア) ソースネクストアプリをインストールし、製品登録で半角英数字が入力できない 5 2022/07/03 22:44
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- Gmail gmail から docomo メールに送信できません 4 2022/06/25 00:41
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- その他(コンピューター・テクノロジー) 正規表現の置換で数値を合計したいです。 2 2022/10/17 11:01
- Android(アンドロイド) 海外のAndroid 端末の場合、日本語全角は、どう表示されるのでしょうか? 1 2022/10/02 21:16
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VisualStudio2022でC言語プログ...
-
正規表現で英(大小)と数字を必...
-
C言語で全角文字を扱いたいので...
-
Accessで文字列のバイト数読み込み
-
初心者が簡単なPowerShellスク...
-
Access2003 オートナンバーの現...
-
エラーの意味は? Lvalue req...
-
Excel-vba 文字列と変数を...
-
初心者プログラミング
-
C言語 列挙型(enum型)変数について
-
プログラミングについての質問...
-
C言語 exitの使い方
-
C言語初心者です。次の問題で質...
-
配列の値を置換するにはどうす...
-
UWSCのcallについて
-
テキストボックスの値を変数に...
-
C言語 アロー演算子について質...
-
for the first timeとfirst tim...
-
VBAでダブルコーテーション入り...
-
VBAで配列内のマッチ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VisualStudio2022でC言語プログ...
-
C言語で全角文字を扱いたいので...
-
Accessで文字列のバイト数読み込み
-
Cpadで文字化け
-
エクセルで数字の変換
-
VBA シート上にドロップダウン...
-
HTML5では文中の半角不等号はち...
-
アンダーバーとバックスラッシュ
-
文字数の多い単語だけ抽出(多...
-
Kシェルでの桁数取得
-
rubyの正規表現について
-
VC2008+Qtの文字化け
-
void lcd_str(unsigned char* p...
-
C言語 exitの使い方
-
VBAでダブルコーテーション入り...
-
フォームを開くときに、コンボ...
-
エラーの意味は? Lvalue req...
-
Excel-vba 文字列と変数を...
-
excelの、ある数式内の{}の意...
-
数字の位ごとの値を表示するプ...
おすすめ情報