タグ

regexに関するterkelのブックマーク (23)

  • phpでの漢字の正規表現を調べる続き~異体字セレクタ - Qiita

    phpで漢字の正規表現を調べる(utf-8) の続きです。 ※この記事はMacChromeで表示を確認しています。 以前phpで使える漢字の正規表現を示したところ 異体字セレクターとStandardized Variants が考慮されていないというご指摘を頂き 知らなかったので調べてみました。 結果正規表現は以下となりました。 preg_match("/^([\x{3005}\x{3007}\x{303b}\x{3400}-\x{9FFF}\x{F900}-\x{FAFF}\x{20000}-\x{2FFFF}][\x{E0100}-\x{E01EF}\x{FE00}-\x{FE02}]?)$/u", $subject, $matches); 前回の記事を参考に正規表現を作ってしまった方ごめんなさい。 異体字セレクターとは wikipediaに詳細に書かれていますが、 字形を詳細に表現

    phpでの漢字の正規表現を調べる続き~異体字セレクタ - Qiita
  • ユニコード文字プロパティについて - JS.next

    概要 正規表現でひらがなにマッチさせる場合によく「 /[ぁ-ん]/ 」とするが、これを「 \p 」エスケープ表現を使って、 「 /\p{Block=Hiragana}/u 」のように分かりやすく書けるようにするための新たな仕様がV8で実装された。 基 文字の分類には様々なものがあり、その分類名nameと、その分類での値valueを使って、 「 /\p{name=value}/u 」のように記述する。 hiragana = /^\p{Script=Hiragana}+$/u // スクリプト(言語文字種)分類:平仮名 console.log( hiragana.test( 'あいうえお' ) )  // true console.log( hiragana.test( 'aiueo' ) ) // false // 分類名や値には大抵略称が1つ、または複数設定されており、そちらも使える h

    ユニコード文字プロパティについて - JS.next
  • Unicodeプロパティを使ったPerl正規表現 - Hatena Developer Blog

    こんにちは、Webアプリケーションエンジニアのid:nanto_viです。 Webアプリケーションを作っていると、「全角文字と半角文字を統一したい」「ユーザーの入力から漢字を抜き出したい」といったテキスト処理を行う場面にたびたび遭遇します。はてなではWebアプリケーションのサーバー側プログラミング言語としてPerlを多く使っていますが、PerlならこのようなときにUnicodeプロパティを用いた正規表現パターンで柔軟な処理が可能です。 Unicodeプロパティ 現在、ほとんどのプラットフォームで採用されている文字集合がUnicodeです。Unicodeでは文字だけでなくその文字の様々な特性(プロパティ)も定められており、テキスト処理の基礎情報として活用できます。 Perl正規表現でのUnicodeプロパティの利用 Perlの正規表現では、\p{Property_Name=Value}のよう

    Unicodeプロパティを使ったPerl正規表現 - Hatena Developer Blog
  • パフォーマンスを意識して正規表現を書く - Shin x Blog

    正規表現を書く際、どのようなパターンにマッチさせるか、どこをキャプチャするかという視点で記述することはあっても、パフォーマンスを考えて記述するというのはある程度知っている人でなければ忘れがちな視点です。 このエントリでは、バックトラックをメインに正規表現がパフォーマンスに及ぼす挙動について見ていきます。 対象の正規表現エンジン ここでは、従来型 NFA を対象としています。具体的には、PHP の preg_ 関数で利用している PCRE や mb_ereg 関数が利用している鬼車です。PerlRubyPythonJava、.NET でも従来型 NFA を採用しているので、似た挙動となるでしょう。 「従来型 NFA」や「バックトラック」などの用語については、「詳説 正規表現 第3版」のものを用いています。 バックトラックによるマッチ探査 正規表現エンジンでは、指定された文字列が、パ

    パフォーマンスを意識して正規表現を書く - Shin x Blog
    terkel
    terkel 2016/08/24
  • 正規表現 基本の「き」 | HTML5 CSS3 JavaScript – WEBYA.IN

    正規表現をもっと身近に感じてもらうためにも、もっとスムーズに習得するためにも、WEBYA.INではメタ文字を擬人化してみた(素材はだいたい イラスト工房ユニ様から拝借いたしました) .:ピリ子 ピリ子(24歳)求められると断れないちょっとエッチな OL マッチするもの:任意の1文字 SAX SOX SIX これらには、以下の正規表現でマッチさせる S.X []:ブラケット姉妹 姉ケット 姉ケット(22歳)包容力があり聞き上手。紅茶が好き マッチするもの:ブラケット内の1文字 SAX SOX SIX これらには、以下の正規表現でマッチさせる S[AOI]X [^]:ブラケット姉妹 妹ケット 妹ケット(17歳)まだトゲがあるガラスの十代。未だにATフィールドが云々とか言ってる マッチするもの:ブラケット内に並べた文字を否定する SAX SOX SIX SRX SSX SVX S-X 以下の正

    terkel
    terkel 2016/07/14
  • Regexes: the Bad, the Better, and the Best

    A Story about How Just a Few Characters Can Make Such a Big Difference in Performance Regular expressions are incantations that we developers wield mightily when the time calls. Yet, do we always wield them deftly? Regular expressions are a delicate and precise language. They are crafted with careful deliberation into powerful forces that level text like a perfectly thrown bowling ball, knocking o

    Regexes: the Bad, the Better, and the Best
    terkel
    terkel 2016/06/27
  • Regular Expression: Match Unicode Block Range | korp

    This is an online tool that builds a JavaScript regular expression that matches characters that fall in any number of specified Unicode blocks. [] Selected Code Range Block Name

  • 和文/日本語にマッチする正規表現 · Issue #1 · textlint-ja/textlint-rule-preset-JTF-style

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    和文/日本語にマッチする正規表現 · Issue #1 · textlint-ja/textlint-rule-preset-JTF-style
  • Unicodeで「漢字」の正規表現 – ものかの

    改訂:2017/07/22 Unicode 10.0に合わせて書き直し。正規表現を簡易にしようとしてやりすぎていたのを修正。 改訂:2023/03/21 U+30000以降を追加。InDesignの正規表現を追記。 正規表現で漢字の範囲指定をする場合、Unicodeではどうするかが悩ましいところです。 Unicodeの漢字の範囲として [一-龠] にしている例を見かけます。しかしこれは旧規格JIS X 0208の漢字が含まれる範囲をUnicodeの中から切り出しているだけです。互換漢字ブロックをまるごと取りこぼしているので、WindowsのシフトJIS(CP932)の拡張漢字に当たるものが含まれていません。現規格JIS X 0213の第3・第4水準漢字も考慮されていません。簡易な範囲指定だとしても、新常用漢字の「𠮟」が含まれておらず、今から見るとあまりに時代遅れです。 Unicodeのす

    Unicodeで「漢字」の正規表現 – ものかの
  • 漢字にマッチする JavaScript の正規表現パターン: Days on the Moon

    たまに漢字にマッチする正規表現パターンを書きたいときがあります。Perl の正規表現だと Unicode のスクリプト名を使って \p{Han} で漢字にマッチさせられるのですが、JavaScript ではそうはいきません。JavaScript の正規表現には以下のふたつの問題があります。 Unicode スクリプト名の指定 (\p{...}) に対応していない。 そもそも Unicode の符号位置に対してマッチさせられない (UTF-16 における符号単位に対するマッチになる)。 BMP 外の文字にマッチさせたいときは、サロゲートペアの符号単位を記述する必要がある。 これに関しては ECMAScript 2015 で導入された /u フラグで解決する見込み。 とはいえ、解決不能な問題というわけでもないので、Perl の \p{Han} を JavaScript に移植してみましょう。\

  • 正規表現によるバリデーションでは ^ と $ ではなく \A と \z を使おう

    正規表現によるバリデーション等で、完全一致を示す目的で ^ と $ を用いる方法が一般的ですが、正しくは \A と \z を用いる必要があります。Rubyの場合 ^ と $ を使って完全一致のバリデーションを行うと脆弱性が入りやすいワナとなります。PerlPHPの場合は、Ruby程ではありませんが不具合が生じるので \A と \z を使うようにしましょう。 はじめに 大垣さんのブログエントリ「PHPer向け、Ruby/Railsの落とし穴」には、Rubyの落とし穴として、完全一致検索の指定として、正規表現の ^ と $ を指定する例が、Ruby on Rails Security Guideからの引用として紹介されています。以下の正規表現は、XSS対策として、httpスキームあるいはhttpsスキームのURLのみを許可する正規表現のつもりです。 /^https?:\/\/[^\n]+$/

  • Regexper

    Regular expression visualizer using railroad diagrams

  • 取説 正規表現

    nanto_vi, 2008-07-19 自己紹介 nanto_vi (TOYAMA Nao) Days on the Moon Twitter 目次 よくある間違い 正規表現オブジェクトのメソッド グローバルマッチ 文字列のメソッド まとめ よくある書き方 var str = "OSC Kansai 2008"; var year = 0; if (str.match(/(\d+)/)) { year = Number(RegExp.$1); } 何がよくないか RegExp コンストラクタのプロパティはグローバル変数 Mozilla 2 (Firefox 4) では削除されるかも? if (str.match(/(\d+)/)) { doOtherThing(); year = Number(RegExp.$1); } function doOtherThing() { "Firefo

    terkel
    terkel 2011/08/25
  • 正規表現のベンチマーク(String.match と RegExp.exec のざっくりとした違い) - latest log

    2009-01-12追記 タイトル修正しました。 2009-01-14追記 String.indexOf と RegExp.test のスコアが逆に書かれてていたのを修正しました。 String.match ばかりで、RegExp.exec を使ったことがありませんでした。 ちょっと気になったので色々とベンチマークを取ってみました。 TEST TIMES IE6 Fx3.0 Fx3.1 (JIT) Safari3 Chrome1 (JIT) A. match(/\s*/) vs match(/ */) "aaaaaaaaaaaa".match(/\s*aa\s*/) 1000000 7203 1714 327 2375 2128 "aaaaaaaaaaaa".match(/ *aa */) 1000000 7156 1638 297 2328 2148 B. RegExp.exec vs

    正規表現のベンチマーク(String.match と RegExp.exec のざっくりとした違い) - latest log
  • この機会にマスターしようぜ、正規表現、構文図、オートマトン - 檜山正幸のキマイラ飼育記 (はてなBlog)

    正規表現と構文図について解説します。オートマトンについても詳しく述べます。オートマトン・スゴロクで遊びましょう! 世間でよく知られている/使われている概念・方法にはこだわらず、僕(檜山)の感覚で一番わかりやすいと思われる筋書きと用語法/図式法を使って説明します。この記事に目を通して“感じ”が掴めたら、形式言語理論の教科書を読み始めることが出来るでしょう。 [追記]この記事の内容に対する具体例は、「正規表現とオートマトン:なんだ簡単じゃん、JavaScriptによる実装」にあります。[/追記] 内容: 正規表現 正規表現の例 構文図 基記号 連接 選択 省略可能 繰り返し ストレートワイヤーによるレイアウト調整 有限状態オートマトン 有限状態オートマトンの実行 バックトラックと先読み スゴロクとオートマトン コマをたくさん使うスゴロクと並列処理 非決定性オートマトンと決定性オートマトン 正

    この機会にマスターしようぜ、正規表現、構文図、オートマトン - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Perl正規表現雑技

    このページは Perl5.6 を対象としています. perl スクリプトは EUC-JP で書かれることを想定しています. このページは 正規表現メーリングリスト を参考に,私が独自にメモとしてまとめたものです. このページの正規表現やスクリプトについての詳しい説明, わかりやすい説明はおそらくできません. このページに書かれているスクリプトは, 個人の責任において実行してください. このページに書かれているスクリプトの 利用・改造は自由 です. その際はどこかにこのページの URI( http://www.din.or.jp/~ohzaki/regex.htm )を参考として記述していただければ幸いです(任意). ご意見・ご感想・ご要望などは にお願いします.こう書いた方がいい, 動かん,わからん,バグってる,これ書け,などなどお待ちしています. このページへの リンクは自由 に張ってく

    terkel
    terkel 2010/02/26
  • 正規表現 - JavaScript | MDN

    正規表現とは、文字列内で文字の組み合わせを照合するために用いられるパターンです。JavaScript では、正規表現はオブジェクトでもあります。これらのパターンは RegExp の exec および test メソッドや、String の match、 matchAll、replace、search、および split メソッドで使用できます。章では、JavaScript の正規表現について説明します。 正規表現の作成 正規表現は 2 種類の方法で作成できます : 次のように、スラッシュによって囲まれたパターンからなる正規表現リテラルを使用します : var re = /ab+c/; 正規表現リテラルはスクリプトのロード時にその正規表現をコンパイルします。正規表現が一定のままの場合、この方法を使うとよいパフォーマンスが得られます。 また、次のように RegExp オブジェクトのコンストラ

    正規表現 - JavaScript | MDN
  • Essential Guide To Regular Expressions: Tools and Tutorials — Smashing Magazine

    Regular expressions are an essential part of any programmer’s toolkit. They can be very handy when you need to identify, replace or modify text, words, patterns or characters. In a nutshell: regular expressions (regex) are like a Swiss army knife for modifying strings of just about anything. Need to make your site URLs look pretty? Use regex. Need to remove all punctuation from a sentence? Definit

    terkel
    terkel 2009/06/06
  • フリーティケットシアター全サービスが終了

    フリーティケットシアター全サービス終了 誠に勝手ながら、「フリーティケットシアター」のサービス提供を 2016年3月31日をもちまして終了させていただきました。 これまで長らくご愛顧を賜り、誠にありがとうございました。 http://www.freett.com/