This domain may be for sale!
Perl5 で半角カタカナにマッチする正規表現を簡単にかく方法について にしても、こちらのサイトでも言われていますが、なぜ半角カナ専用のUnicodeブロックがないのかと小一時間(ry http://blog.livedoor.jp/sasata299/archives/51194035.html http://d.hatena.ne.jp/pasela/20081003/ll_unicode ということで、 sub InHankakuKatakana { "FF65\tFF9F" } という一行をはっつけると、つかえるようになりますね。 #!/usr/bin/perl use strict; use warnings; use utf8; use Test::More; sub InHankakuKatakana { "FF65\tFF9F" } ok("\x{FF65}" =~ qr/
追記 os0xさんにjson2.jsで使われている手法である事を教えてもらいました。 正しくはエスケープが必要。 以下フォーラムで議論されている内容から拝借 validating json unnecessarily is killing firefox - jQuery Forum // Try to use the native JSON parser first if (window.JSON && window.JSON.parse) { try { return window.JSON.parse( data ); } catch (err) { jQuery.error( "Invalid JSON: " + data ); } } else { if ( /^[\],:{}\s]*$/.test(data.replace(/\\(?:["\\\/bfnrt]|u[0-9a-f
Regular expressions are a very useful tool for developers. They allow to find, identify or replace a word, character or any kind of string. This tutorial will teach you how to master PHP regexp and show you extremely useful, ready-to-use PHP regular expressions that any web developer should have in his toolkit. Getting Started With […]
能書き 前エントリを書いてからいろいろと調べていて驚いたんだけど、日本語のwebsiteで、それなりにまともにRFC822(RFC2822,RFC5322)に準拠した(もしくはきちんと意図的に準拠していない部分を選択している)正規表現はPerlだろうがPHPだろうがRubyだろうが軽くぐぐった程度では見当たらない。PerlのモジュールのEmail::AddressもEmail::Validも程度の差はあれ問題を抱えている。そこらへんの既存の出回ってる正規表現にどういった問題があるかなんてことは次回エントリにて。 というわけで、Perl、PHP、RubyでRFC5322準拠なメールアドレス(addr-spec)の正規表現を以下に示します。尚、addr-specの最終的な正規表現のみならずそれを作成するに至る部分も併記してあります。これは、最終的な正規表現だけでは難解すぎてとても理解できないか
2009年03月20日05:00 カテゴリLightweight Languages regexp - 'test@[127.0.0.1' . "\\\x1f]" はRFC2822準拠 私自身驚いたのだが、'test@[127.0.0.1' . "\\\x1f]"はRFC2822に準拠している。 へぼへぼCTO日記 - 「danコガいはもう正規表現をblogに書くな」と言わせないでくれ おかげで上記のコードもvalidだ。なんてこったなぜそうなのか、というのは、RFC2822のdomain-literalの仕様による。 domain-literal = [CFWS] "[" *([FWS] dcontent) [FWS] "]" [CFWS] 「[]で囲まれたdcontent」っていったいなんだ? dcontent = dtext / quoted-pair 「dtextまたはquoted
はてブでotsuneさんやkazuhookuさんがPHPクオリティについて勘違いしていたので、一言申し上げたところ、参考にされた方がいたようで、もうちょっと補足します。 いくつか実装での「正しいメールアドレス」を調べてみました。 phpspot function is_mail($text) { if (preg_match('/^[a-zA-Z0-9_\.\-]+?@[A-Za-z0-9_\.\-]+$/',$text)) { return TRUE; } else { return FALSE; } } PEAR::Mail_RFC822 function isValidInetAddress($data, $strict = false) { $regex = $strict ? '/^([.0-9a-z_+-]+)@(([0-9a-z-]+¥.)+[0-9a-z]{2,})$/i'
base2 のコードを見ていたら便利そうだったのでメモ http://code.google.com/p/base2/ 文字列から正規表現を作るとき RegExp("^hoge$"); // hoge とマッチ RegExp("^\\\\$"); // \ とマッチ RegExp("^\\[hoge\\]$"); // [hoge] とマッチ という感じで、バックスラッシュをいっぱい書かなければいけないので 以下のような関数を用意してやって function _r(str) { return (str + '').replace(/([\/()[\]{}|*+-.,^$?\\])/g, "\\$1"); } こんな感じで match(RegExp('^' + _r(prefix) + 'unko'), 'unko'); めもめも
UTF-8 で半角カナを判定 2006-11-09-3 [Programming] Perl で UTF-8 で半角カナを判定するには、 顔文字みたいな正規表現を使うと良いみたい。 なお、下記では全角になっていますが、「。」「゜」は半角です。 print if /[。-゜]/; 以下、確認スクリプト utf8hankana-test.pl。 begin 755 utf8hankana-test.pl.gz M'XL("+7C4D4``W5T9CAH86YK86YA+71E<W0N<&P`1<_)2L-@$,#Q^SS%9[Q8 ML>0J1H1"]>K!>'()M48-U"A)BP<1M.[5NN];L>[[OFM]F"IXZROX5P\._&!F MF!F8XB(]X7MZB^/JW;87DV+UF4Y]'<SEDR?YP51)O5D3+`](PK>5'_><:-SX MS7L
UTF-8 の文字にマッチする正規表現 2006-03-09-1 [Programming] UTF-8の文字にマッチする正規表現の素直版。 レガシーなのに対応するとき用にメモ。 [\x00-\x7f]|[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7] [\x80-\xBF]{3}|[\xF8-\xFB][\x80-\xBF]{4}|[\xFC-\xFD][\x80-\xBF]{5} 1 2 3 4 5 60xxxxxxx 110xxxxx10xxxxxx 1110xxxx10xxxxxx10xxxxxx 11110xxx10xxxxxx10xxxxxx10xxxxxx 111110xx10xxxxxx10xxxxxx10xxxxxx10xxxxxx 1111110x10xxxxxx10xxxxxx10xxxxx
http://www.unixuser.org/~euske/doc/python/sample.py.html # 日本語トークンを切り出すための正規表現。 JP_TOKEN = re.compile(u"[一-龠]+|[ぁ-ん]+|[ァ-ヴ]+|[a-zA-Z0-9]+") http://www.ascii.co.jp/pb/ascii/archive/aftercare/1999.html [亜-煕]はJIS漢字を検出するときに使う正規表現になります。 本文中で触れている「一太郎 Lite2」の正規表現はUnicode仕様なので,すべての漢字を検出するには,[一-龠]を使用してください(龠は音読みで「ヤク」,訓読みで「ふえ」,Unicodeでは「9FA0」にあたります)。 追記 ※「すべての漢字を取り出す正規表現」については、id:toton:20051105 に記事を追加しました。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く