- - PR -
ディレクトリパスの正規表現
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-03-27 20:39
(?![*?<>|])[a-zA-Z!-~] これでいいはずです。 3-29 文字クラスの集合演算を模倣その3 http://oraclesqlpuzzle.hp.infoseek.co.jp/regex/regex-3-29.html [ メッセージ編集済み 編集者: 明智重蔵 編集日時 2008-03-27 20:39 ] | ||||
|
投稿日時: 2008-03-27 21:02
明智重蔵さん
ありがとうございます。 >(?![*?<>|])[a-zA-Z!-~] で全角をはじくことが出来ました! また参考にさせてもらったサイトの方法でもはじくことが出来ました。 [a-zA-Z!-~&&[^*?<>|]] 正規表現でも論理演算子が使えるんですね! 知らなかったです。おかげで助かりました。 ありがとうございました〜!! | ||||
|
投稿日時: 2008-03-27 22:31
突っ込みだけしておきます。
これって、[a-zA-Z0-9]の部分は効力を発揮しませんよね…。 いずれも[^<>|]にマッチするから意味を成さないはず。 #速度的な面については考えません。 | ||||
|
投稿日時: 2008-03-28 19:42
やっぱり明確でないですね。 記号は「いわゆる半角」だけ許すのですか? それともASCIIの範囲内の記号ですか? それとも、「表現できる全ての記号」ですか? その場合、「記号」の定義が問題になりますよ。 「α」とか、日本語では記号として扱う場合もありますし。 ASCIIの範囲内の英数字+ASCIIの範囲内の記号で、*, ?, <, >, | 以外、 というのならそのまんま普通に列挙すれば言いだけだと思いますが。 [!"#\$%&'\(\)\+,\-\./0-9:;=@A-Z\[\]\^_`a-z\{}~] 明智重蔵さんの、 > (?![*?<>|])[a-zA-Z!-~] これでやるなら (?![*?<>|])[!-~] のほうがいいと思います。 | ||||
|
投稿日時: 2008-03-28 20:05
そうですね。 (全体的な意味がわからなかったので集合を結合する部分のみを強調するあまりに ミスしてますね。) あと、単純に[a-zA-Z0-9記号]を書けばよいのでは 使える記号は10個もないはずなので減算等を使用する必要もないかと [ メッセージ編集済み 編集者: indigo-x 編集日時 2008-03-28 20:06 ] |