タグ

正規表現に関するnabehiroのブックマーク (5)

  • Rubyの正規表現で対応する括弧を考慮していい具合にマッチさせる - There's an echo in my head

    1.9以降に搭載された正規表現エンジン(oniguruma, onigumo)では (?<name>式)によってマッチした式部分に名前(ここではname)を付けることができ、 それにマッチした内容を後方参照\k<name>で参照でき、 また\g<name>でその式を再帰的に呼び出すことができる これを使えば、括弧のペアを対応させた上でマッチさせることができる。 たとえば次の例ではLispのシングルクォーテーション記法をquote関数の呼び出しに変換する。 regexp = /'(?<paren>\((?:[^()]|\g<paren>)*\))/ replace = '(quote \k<paren>)' # 1段 "'(+ 1 2)".match(regexp) #=> #<MatchData "'(+ 1 2)" paren:"(+ 1 2)"> "'(+ 1 2)".gsub(reg

    Rubyの正規表現で対応する括弧を考慮していい具合にマッチさせる - There's an echo in my head
  • 正規表現を解析して可視化してくれるサイトが凄すぎる件

    ある正規表現に対して、特定の文字列がマッチするかどうかをチェックするツールやサイトは沢山ありますが、正規表現そのものが何を意味しているのか、どんな文字列を期待しているのかを解析・解読・説明してくれるツールやサイトってなかなか見ない気がします。 他人の書いた正規表現を見て、「ん?」ってなったことはありませんか? 例えばこれ。 1 ^[a-zA-Z0-9-_.]@([a-zA-Z0-9_-]+\.)+[a-zA-Z]{2,4}$ これくらいなら分かりますが、複雑になってくるとつらい… いつかはマスターしたいけど…今は楽したい。 そう思ってググってみると…ありました! それがこちら。 Regexper http://www.regexper.com/ 正規表現を入力して Display をクリックすると、その正規表現が表す内容を図にして表示してくれます。 例えば先程の正規表現は、当記事の一番上の

    正規表現を解析して可視化してくれるサイトが凄すぎる件
  • .NET Framework の正規表現とメールアドレス検証に悩まされた件 - しばやん雑記

    今週は .NET Framework の正規表現とメールアドレス検証に目いっぱい悩まされました。事の顛末を説明すると以下のような感じ。 正規表現 Regex クラスはデフォルトでは文字クラスの扱いなどが、ECMAScript の挙動とは異なるので悩みました。 もしかして:.NET の正規表現で \d は全角も通る— しばやん (@shibayan) June 18, 2013 コード例を出して説明すると、電話番号のように数値(とハイフンとか)のみ入力可能にする検証を正規表現で書いていたわけですよ。 public class User { // 03-1234-5678 という電話番号を期待 [RegularExpression(@"\d{2,4}\-\d{1,5}\-\d{4}")] public string PhoneNumber { get; set; } } こう書くと、半角数字し

    .NET Framework の正規表現とメールアドレス検証に悩まされた件 - しばやん雑記
  • メールアドレスの書式が正しいかチェックする正規表現

    2012-10-18 634 1563 メールアドレスの書式チェックの方法をネットで調べると、preg_match関数を使用した正規表現チェックのコードがいくつか出てくるのだが、どれも同じコードではない為、どれが一番正確なのかはよく分からない。そこで、信用できそうなコードをご紹介。 どうやら、docomoは「da.me..@docomo.ne.jp」といったRF2822非準拠の携帯メールアドレスが取得できるらしいので、docomoのせいでちょっとややこしいようだ。 ↓ドコモのメールアドレスの取得は以下が可能↓ ■ドットで始まる ■ドットが連続する ■@の前がドット あと、こんなメールアドレスも存在するらしい・・・ ■Abc\@def@example.com ■customer/department=shipping@example.com ■!def!xyz%abc@example.com

    メールアドレスの書式が正しいかチェックする正規表現
  • よく使う正規表現

    C# RegEx 正規表現 開発環境: Visual Studio 2003-2010 1.目次 1.目次 2.目的 3.参考書 4.超簡易正規表現作成支援ツール 5.よく使う正規表現の例 6.よく使う正規表現 5.RegEx デザインパターン 7.ダウンロード 8.ソースコード 2.目的 たま~~に、正規表現が必要になることがあるんですけど、たまにしか使わないからすぐ忘れちゃうんですよね。 今回もたまたま正規表現が必要になる場面があったんですが、使おうと思ってもヘルプの場所を探すのでひと苦労。 それに正規表現が正しいかどうかプログラム内で確認しようとすると、これがまたやっかい! いいかげんいやになって、超簡易正規表現作成支援ツールを作りました。 Web からの正規表現テストツール 3.参考書 (1) MSDN 正規表現言語要素 (2) MSDN RegEx (3) C#プログラミング バ

  • 1