タグ

regexpに関するtanakaBoxのブックマーク (23)

  • 正規表現メモ

    \x{} \pは後続する名前が表すクラス(プロパティ、スクリプト、ブロック)に属する文字にマッチし、 \Pは後続する名前のクラスに属さない文字にマッチします。 クラスの名前が一文字のときはブレースを省略できます。 クラス名の前に^を置くことにより否定形の指定を行うことも可能です。 Perl 5.8 での変更点 Perl5.8以降(5.6でも使えたようですが)では \pや\Pで始まるプロパティ指定に標準Unicode属性を使うこともできます。 詳しくは perlunicode perlunicode - Perl における Unicode サポート を参照してください。 日語による説明が Unicodestandard にもあります。 Perl 5.8以降ではユーザーが任意のプロパティを作成することができます (IsまたはInを必ず前置)。 詳しくは perlunicode perluni

  • 正規表現の先読み・後読み

    正規表現の「先読み(lookahead)」「後読み(lookbehind)」について紹介します。 正規表現の「位置へのマッチ」 正規表現は、文字列のパターンマッチに使われます。たとえば [0-9]{4} は数字 4 つが並ぶ文字列にマッチする表現です。 多くの正規表現は「文字列」にマッチしますが、「文字列」ではなく「位置」にマッチする表現があります。これは、アンカーと呼ばれます。また、長さ 0 の文字列にマッチすると考えて、ゼロ幅アサーションとも呼ばれます。 アンカーの例として、^(先頭)$(末尾)\b(単語の境界)などがあります。 この例では、cat にはマッチします。一方、category や concat は cat を含みますが前後が単語の境界になっていないためマッチしません。 先読み 先読み(lookahead)は、位置にマッチする記法の一種です。位置の指定に正規表現を使います。

    正規表現の先読み・後読み
  • あなたの知っている正規表現はもう古い! 正規表現の新常識(ES2018編) - Qiita

    2018年1月23日から25日にかけて、TC39の第62回ミーティングが行われました。TC39のミーティングでは、提案されているECMAScriptの新機能 (proposal) について審議し、各proposalのステージの移動を決定します。 今回のミーティングでは正規表現に関する幾つかのproposalがStage 4になりました。Stage 4になったproposalはES2018に組み込まれ、JavaScript (ECMAScript) に正式採用ということになります。 この記事では、JavaScriptに追加された正規表現の4つの新機能を紹介します。 s (dotAll) flag for regular expressions Proposal: https://github.com/tc39/proposal-regexp-dotall-flag 正規表現の新たなフラグとし

    あなたの知っている正規表現はもう古い! 正規表現の新常識(ES2018編) - Qiita
  • 40行以内で正規表現エンジンを構築 | POSTD

    最終目標は、最小限のコードで正規表現ユースケースの大部分をカバーできるくらい十分堅牢な構文を提供することです。 1文字と一致させる まずはじめに、1文字のパターンと1文字で構成される文字列を引数に取り、一致するかしないかを示すブール値を返す関数を作成してみます。1文字のパターンである . はワイルドカードとされ、任意の文字リテラルと一致します。 下記のようなかんじです matchOne('a', 'a') -> true matchOne('.', 'z') -> true matchOne('', 'h') -> true matchOne('a', 'b') -> false matchOne('p', '') -> false function matchOne(pattern, text) { if (!pattern) return true // 任意テキストが空パターンと一致

    40行以内で正規表現エンジンを構築 | POSTD
  • 正規表現をチョムスキー言語学まで遡って理解する(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Exploring the Linguistics Behind Regular Expressions 原文公開日: 2017/11/20 著者: Alaina Kafkes 訳注: 原文タイトルは「正規表現を背後で支える言語学を理解する」といったニュアンスです。翻訳記事タイトルでは内容を把握しやすくするため「チョムスキー」を加えました。 正規表現は、新人/ベテランを問わずプログラマーに恐怖心を呼び起こします。私が最初に正規表現(しばしばregexと略記されます)というものを目にしたときも、()だの*だの文字だの数字だので構成された祈祷書を読んでいるうちにめまいがしてきたのを覚えています。正規表現はナンセンスで理解不能なものに思えたのです。 正規表現は、高度なコンピュータサイエンス(CS)学科で扱われるのだろうと思っていました。

    正規表現をチョムスキー言語学まで遡って理解する(翻訳)|TechRacho by BPS株式会社
  • Regex Golf

    tanakaBox
    tanakaBox 2014/04/05
    わからん。
  • 正規表現入門 星の高さを求めて

    第13回日情報オリンピック(JOI2013/2014)春季トレーニング合宿での講義資料です. http://www.ioi-jp.org/camp/2014/2014-sp_camp-rules.html 【概要】 正規表現とはパターンマッチングのための記法であり,文字列検索の便利な道具として広く親しまれています.この講義では,正規表現の基礎から始め,「星の高さ」という性質に注目して正規表現の裏側に潜む数理構造に迫っていきます.1960年代から未解決である「星の高さ問題」に浪漫を感じてもらえると幸いです.

    正規表現入門 星の高さを求めて
    tanakaBox
    tanakaBox 2014/04/01
    このスライドは入り口に過ぎなかった・・・出口は遠い・・・
  • Regex Crossword

    A crossword puzzle game using regular expressions. Earn achievements completing puzzle challenges. Easy tutorials for people new to regular expressions.

    Regex Crossword
    tanakaBox
    tanakaBox 2013/07/26
    楽しい。
  • Regex Tester – RegexPal

    RegexPal is a tool to learn, build, & test Regular Expressions (RegEx / RegExp). Results update in real-time as you type. Roll over a match or expression for details. Save & share expressions with others. Explore the Library for help & examples. Undo & Redo with {{getCtrlKey()}}-Z / Y. Search for & rate Community patterns.

    tanakaBox
    tanakaBox 2013/04/26
    わかりやすく表示してくれる。テストには便利。
  • Regexper

    Regular expression visualizer using railroad diagrams

    tanakaBox
    tanakaBox 2013/04/26
    図解。
  • 正規表現をいまのうちに覚えておきたい人のためのリソース集

    HTML5で正規表現がサポートされる、といったことをきっかけに、正規表現はプログラマだけでなくWebクリエイター全体のスキルとして求められていくものになっていくのではないでしょうか(参考:あまり知られていないけれど、HTML5では正規表現が使えるようになる )。 ここではそうした正規表現の初学者や、一度挫折したけど再入門したい人、そしてより高度な内容をマスターしたいすべての人のためのリソース集を作りました。 初学者向けには「はじめての正規表現」 「はじめての正規表現」は、文字通り正規表現という言葉は知っていても中味はよく分からない、という初学者の方にぴったりのコンテンツ。紙芝居形式のプレゼンテーションで楽しく正規表現について把握できます。 はじめての正規表現 初学者の方には、次の2つの記事も手っ取り早く読めて概要を把握できますので紹介しておきます。 使うほどに良さが分かる正規表現(1/2)

    正規表現をいまのうちに覚えておきたい人のためのリソース集
  • re2 - Project Hosting on Google Code

    This is the source code repository for RE2, a regular expression library. For documentation about how to install and use RE2, visit https://github.com/google/re2/. The short version is: make make test make install make testinstall Building RE2 requires Abseil (https://github.com/abseil/abseil-cpp) to be installed on your system. Building the testing for RE2 requires GoogleTest (https://github.com/

    re2 - Project Hosting on Google Code
  • 米Google、高速・低メモリ消費の正規表現ライブラリ「RE2」を公開 | OSDN Magazine

    Googleは3月11日、正規表現ライブラリ「RE2」を発表した。動作が高速で「スレッドフレンドリー」な点が特徴。従来のバックトラック型正規表現ライブラリの代替として開発を進めていく。 Googleによると、同社はCode SearchやSawzallといったインフラやアプリケーションで正規表現を利用しているが、バックトラックアルゴリズムを利用した従来の正規表現実装では入力データに対し処理時間が指数的に増加することが問題となっていた。また、固定サイズのスタックを持つC++のマルチスレッドプログラムの場合、従来の正規表現実装ではスタックを使い切ってスタックオーバーフローを発生させることがあったという。これらを解決するために独自の正規表現エンジンを開発したとのこと。 RE2はどのような入力や正規表現に対しても一定の小さいメモリ量で動作するように開発されているのが特徴。オートマトン理論の下、処

    米Google、高速・低メモリ消費の正規表現ライブラリ「RE2」を公開 | OSDN Magazine
  • 正規表現をいまのうちに覚えておきたい人のためのリソース集

    HTML5で正規表現がサポートされる、といったことをきっかけに、正規表現はプログラマだけでなくWebクリエイター全体のスキルとして求められていくものになっていくのではないでしょうか(参考:あまり知られていないけれど、HTML5では正規表現が使えるようになる )。 ここではそうした正規表現の初学者や、一度挫折したけど再入門したい人、そしてより高度な内容をマスターしたいすべての人のためのリソース集を作りました。 初学者向けには「はじめての正規表現」 「はじめての正規表現」は、文字通り正規表現という言葉は知っていても中味はよく分からない、という初学者の方にぴったりのコンテンツ。紙芝居形式のプレゼンテーションで楽しく正規表現について把握できます。 はじめての正規表現 初学者の方には、次の2つの記事も手っ取り早く読めて概要を把握できますので紹介しておきます。 使うほどに良さが分かる正規表現(1/2)

    正規表現をいまのうちに覚えておきたい人のためのリソース集
    tanakaBox
    tanakaBox 2009/09/29
    良質なまとめ記事。
  • Regular Expression Matching Can Be Simple And Fast

    Regular Expression Matching Can Be Simple And Fast (but is slow in Java, Perl, PHP, Python, Ruby, ...) Russ Cox rsc@swtch.com January 2007 Introduction This is a tale of two approaches to regular expression matching. One of them is in widespread use in the standard interpreters for many languages, including Perl. The other is used only in a few places, notably most implementations of awk and grep.

    tanakaBox
    tanakaBox 2009/09/18
    NFAとDFAの実装について。
  • 正規表現まとめサイト | エンタープライズ | マイコミジャーナル

    Smashing Magazine - WE SMASH YOU WITH THE INFORMATION THAT WILL MAKE YOUR LIFE EASIER, REALLY. 文字列を処理するにあたって正規表現は欠かせない機能といえる。任意の文字列やテキストファイル、HTML/XMLから特定のキーワードを検索したり取り出し、置換をおこなうにあたって、正規表現が使えると使えないのとでは、プログラミングの手間やツールの活用度合いが変わってくる。 正規表現は便利で強力な機能だが、その独特の表記方法はプログラマ初心者には敷居の高いものでもある。Glen Stansberry氏による正規表現に関するチュートリアルや資料、ツールなどのまとめがSmashing MagazineにEssential Guide To Regular Expressions: Tools and Tutori

    tanakaBox
    tanakaBox 2009/08/24
    多いな。
  • TAKESAKO @ Yet another Cybozu Labs: [YAPC] 正規表現にフォーカスしたPerl6入門

    YAPC::Asia 2007 Tokyo で発表した資料を公開しました。 Yoshinori Takesako - s/ Perl5 Regular Expression / Perl6 Regex and Rule /mixes; Perlの黒魔術の一つであった正規表現。後付の拡張を繰り返した結果、問題解決の強力な武器に成長した反面、人間にも計算機にも読みにくい諸刃の剣にもなってしまいました。そこで再設計されたのがPerl6! 正規表現の書き方がPerl5からどのように変わるのか、これからPerl6のプログラムを書いてみようという人向けにわかりやすく解説します。 Software Design 2007年2月号の巻末特別企画「先取り Perl6正規表現カタログ ~ Perl5からの変更点を徹底解説!」の記事がベースになっています。 Perl6ではPerl5からの後方互換性は考慮しなくな

    tanakaBox
    tanakaBox 2007/04/21
    perl6の正規表現。強力そう・・・。
  • プログラミング言語を作る/正規表現ライブラリ鬼車の搭載

    ごぶさたしてました またえらく長いこと放置しておりましてすみません。 今回実施した修正は以下の通りです。 文字列の内部的な保持形式をUNICODEに変更。 正規表現ライブラリ鬼車を搭載。 その他細かいこと。 私もたまにPerlを使うことがありますが、 私がPerlを使ってすることといえばほとんどテキストファイルの処理です。 今回の修正で、crowbar もそういう用途にそこそこ使えるようになったと思うので、 それなりに実用性が出てきたのではないでしょうか ――ってそれはほとんど鬼車のおかげなんですが。 「鬼車」というのは、小迫さんが開発された正規表現ライブラリです。 公式ページ: http://www.geocities.jp/kosako3/oniguruma/ 私はといえば、正規表現はまるっきり素人なのですが(もちろん普通に grepとかは使っていますが)、 鬼車を組み込むことで、簡単

    tanakaBox
    tanakaBox 2007/03/27
    鬼車のサンプル。
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    tanakaBox
    tanakaBox 2007/03/27
    Rubyにも搭載(予定?)されている正規表現ライブラリ。
  • regex.hの使い方

    Cの言語仕様そのものには正規表現は含まれていないので、C言語で正規表現を扱うには何らかのライブラリを利用する必要があります。ここでは、POSIX準拠のregex.hを利用して正規表現の処理を行います。 UNIXライクなOSなど、POSIX準拠のシステムであれば使用できるはずです。このページのサンプルなどはLinux上のgcc-2.96でテストを行っています。 使用方法 regex.hでの正規表現の基的な使用方法を簡単に述べると、次のようになります。 regcomp()で正規表現をコンパイル regexec()で実行 regfree()でコンパイルした正規表現を解放 多少面倒なように見えますが、正規表現ライブラリとしてはごく一般的な手順です。正規表現による検索処理の前に正規表現の文字列をコンパイルし、検索処理を行った後に処理に使ったバッファを解放する必要があります。 ということで、関数をひ

    tanakaBox
    tanakaBox 2007/03/25
    grepでも作るかな。