タグ

regexpに関するlizyのブックマーク (46)

  • Google正規表現ライブラリ「RE2」登場 | エンタープライズ | マイコミジャーナル

    RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. GoogleからC++向けの正規表現ライブラリ「RE2」が発表された。Googleが自社サービスを提供するために活用しているC++正規表現ライブラリで、PerlPCREの正規表現のほとんどに対応しているほか、POSIXモードも提供されている。入力データのサイズに依存せずに固定サイズのメモリで処理が可能で、高速で安全、マルチスレッドでの動作に適しているという特徴があるという。 従来の実装では、大量にデータを処理する場合に指数関数的に処理時間が増えるという問題があったという。またスタックの境界チェックミスからスタックオーバーフ

  • 正規表現の入門(2) 難しいメタ文字

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    正規表現の入門(2) 難しいメタ文字
    lizy
    lizy 2009/06/07
  • 正規表現まとめサイト | エンタープライズ | マイコミジャーナル

    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

    lizy
    lizy 2009/06/06
  • JavaScript正規表現メモ。 (JavaScriptでよく使う書き方。) - こせきの技術日記

    タイトル変えました。旧タイトル「JavaScriptでよく使う書き方」。よく使うけど毎回忘れる。 正規表現にマッチするかどうか。 RegExp#testを使う。 /abc/.test("abcdefg") // => true String#searchはマッチした位置を返す。マッチしない場合は-1。先頭にマッチすると0でfalseなので注意。真偽値が欲しい場合はString#searchを使わない。 "abcdefg".search(/xxx/) // => -1 "abcdefg".search(/def/) // => 3 "abcdefg".search(/abc/) == false // => true 正規表現の部分マッチを得る。 部分マッチを得るには、RegExp#execかString#matchを使う。execとmatchの速度は大して変わらない。 正規表現のベンチマー

    JavaScript正規表現メモ。 (JavaScriptでよく使う書き方。) - こせきの技術日記
  • Jeff Moser氏による .NET 正規表現の実際の仕組みの調査

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Jeff Moser氏による .NET 正規表現の実際の仕組みの調査
  • グーグル,「Google Chrome」高速化で新たな取り組み--独自で正規表現を実装

    オープンソースブラウザ「Google Chrome」の動作速度向上に向けたGoogleの試みの一環として,Chromeプログラマーらは,サードパーティーのソフトウェアパッケージを捨て,独自のパッケージに切り替えた。 この変更は,正規表現と呼ばれるJavaScriptテキストを処理するためのキーコンポーネントに関するもの。プログラマーのErik Corry氏,Christian Plesner Hansen氏,Lasse Reichstein Holst Nielsen氏の3人は,The Chromium Blogへの投稿で,「JavaScriptの他の部分は改善してきたが,他の部分よりも正規表現の遅れが目立ち始めた。そこで,われわれは,外部ライブラリを利用するよりも,われわれの既存のインフラと統合することにより,JavaScriptの性能が向上するはずだと考えた」と述べている。 その結果

    グーグル,「Google Chrome」高速化で新たな取り組み--独自で正規表現を実装
  • 正規表現に見切りをつけるとき

    Perl, Rubyなど手軽に使えるプログラミング言語に慣れてくると、あらゆるテキストデータの処理に正規表現(regular expression)を使ってしまいがちです。 けれど実は、正規表現の処理能力を超えるフォーマットというのが存在します。その典型的な例が、XMLやJSONのように、入れ子になったデータフォーマットです。

    lizy
    lizy 2009/01/27
    オレオレ外部DSLを作るときに使えるかもしれない
  • 正規表現の問題集1(基本編)

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    正規表現の問題集1(基本編)
    lizy
    lizy 2008/09/05
  • その正規表現で大丈夫?Mac OSX向けの正規表現チェッカー·Reggy MOONGIFT

    プログラミングをしていると正規表現を利用するケースは数多いと思う。正規表現をうまく使いこなせば、数十行かかるコードもたった一行で終わってしまうこともあるし、複雑な内容も正規表現で書くとごくシンプルになったりすることもある。 反映はリアルタイムに行われる そんな便利な正規表現ではあるが、文字コードやオプションの付け方、様々なパターンの中でバグになることも多い。その書き方で正しいか、今一度チェックしてみよう。 今回紹介するオープンソース・ソフトウェアはReggy、GUIの正規表現チェッカーだ。 Reggyは下半分に書かれた文字列を上に書いた正規表現で探すことができる。ヒットした文字列は青色(変更可能)になる。複雑な正規表現が指定した文字列に対してきちんと対応しているか、リアルタイムに反映されるので簡単にチェックできる。 日語でも利用可能 日語の文章、パターンともに利用できる。オプションはM

    その正規表現で大丈夫?Mac OSX向けの正規表現チェッカー·Reggy MOONGIFT
  • Narcissus の正規表現: Days on the Moon

    「前のエントリで書き忘れてた - 最速チュパカブラ研究会」にて、Narcissus で使われている正規表現が参考になるという話が出ています。 文字列リテラル /^"(?:\\.|[^"])*"|^'(?:[^']|\\.)*'/ 正規表現リテラル /^\/((?:\\.|[^\/])+)\/([gimy]*)/ コメント /^\/(?:\*(?:.|\n)*?\*\/|\/.*)/ 一流の人が書いたものを使いましょうというのに異を唱えるつもりはありませんが、そのままコピー & ペーストしていては意味がありません。ここはやはり一文字一文字心をこめて写経しましょう……ではなく、どうしてその書き方でうまくいくのかをきちんと考えた上で使いましょう。 文字列リテラルにマッチする正規表現 上記の文字列リテラルを表す正規表現から、一重引用符でくくられた文字列にマッチする部分だけを抜き出すと '(?:[^

    lizy
    lizy 2008/06/06
  • MOONGIFT: » 正規表現を試す「Visual REGEXP」:オープンソースを毎日紹介

    正規表現は便利なことこの上ない技術だが、それの書き間違えが原因でバグったり、ハマったりすることがこの上なく多い。?を入れるとか、改行も含めて判断するとかいったところがよく間違えたりする。 また、プログラムの中で使っていると再現させるのが面倒だったり、テストで実行したりするのが大変だ。そこでこれを使って効率よく正規表現を組み立てよう。 今回紹介するオープンソース・ソフトウェアはVisual REGEXP、GUIで試せる正規表現テストソフトウェアだ。 Visual REGEXPは下に対象文字列、上に正規表現を書いてきちんとマッチするかを試すことができる。日語を使った正規表現でもマッチした。大文字小文字の区別、改行コードの扱いなどはチェックボックスで指定できる。 試すだけでなく、置換して変換することも可能だ。例えばテキストファイルの文字を置き換える、くらいだったらプログラミングなしで完了する。

    MOONGIFT: » 正規表現を試す「Visual REGEXP」:オープンソースを毎日紹介
  • 手軽に正規表現のテストができるツールが登場!Rubyで作られた『Rubular』

    ドットインストール代表のライフハックブログ

    手軽に正規表現のテストができるツールが登場!Rubyで作られた『Rubular』
  • JavaScriptの技法:正規表現を学ぶ - builder by ZDNet Japan

    データの妥当性検証は、ユーザからデータを受け取るウェブアプリケーションにとっては必須の機能だ。なぜなら、データの形式が正しいかどうかを、作業を行う前にまず確かめる必要があるからである。ウェブアプリケーションで妥当性の検証を行う際には、ASP.NETやJSPなどで利用可能なプラットフォーム固有の機能を使用するか、それともクライアントサイドでJavaScriptの機能を利用するかを選択することが可能だ。そして、ここでJavaScriptを選択した場合、正規表現を用いることによって検証作業を単純化できるようになる。 正規表現は一種のパターンマッチである。正規表現を用いるとテキストのパターンを簡単に表現することが可能になるため、正規表現はテキストデータの妥当性検証で大きな威力を発揮する。また、正規表現ではパターンマッチだけではなくテキストの置換を行うことも可能だ。私はかつてPerlを用いてUnix

  • BoostでC++0xのライブラリ「TR1」を先取りしよう (2):CodeZine

    はじめに C++の新しい規格「C++0x」では、言語とライブラリの両面から便利な機能が追加されます。「TR1」(Technical Report 1)はC++0xのライブラリ部で、標準C++に新たに追加されるライブラリの多くはBoostの中から選ばれたものです。2008年春にリリースが予定されているVisual Studio 2008にも追加パッケージとして供給されるとの情報を得ています。 TR1に収録されたクラス/関数の中からいくつかをピックアップし、その概要と使い方を予習しておきましょう。 正規表現について さまざまなアプリケーションの実装で必ずと言っていいほど必要となるのが文字列の処理です。簡単なところではファイル、ユーザー入力、あるいはネットワーク越しに手に入れた文字列を空白やカンマで区切るとか、特定の文字列の検索などがあります。 <string.h>(C++では<cstring>

  • Perlの正規表現を用いた置換 - builder by ZDNet Japan

    注目急上昇中のDaaS最新情報 コロナ禍を背景に利用者と機能を拡大中 Azure Virtual Desktop最新情報 MSセキュリティ担当者が紹介 マルチクラウド環境の保護を追求する Microsoft Defender for Cloud 新OSのWin11はどう進化したか ビジネス上の役割、開発の要因と Win11が目指した5つのポイントを紹介 年間5,000件の問い合わせに対応 疑問を解消したいユーザーも答える情シスも みんな幸せになるヘルプデスクの最適解 これからの社内DX 真のDXのため、まずは社内のデジタル化を DXのファーストステップのヒント オープンソース活用はあたりまえ! そんな今だからこそ改めて考える 企業ITにおけるOSS活用のメリットとリスク Summit 講演レポート公開! イノベーション志向経営からDX推進の覚悟 ブレインテックの可能性まで いま求められるI

  • 正規表現はお好き? - steps to phantasien

    積んであった Beautiful Code を読んでみる. 第一章はカーニハンによる正規表現の話. 数十行のコードで簡単な正規表現を実装してみせる. パターン文字列を内部表現に変換せずマッチに使うぜ, コードも短い, ビューティホー! ...という主張なのだが, それはほんとにビューティホーなのか. UNIX 人の感覚にはついていけない. それにしても彼らは正規表現が好きだ. いつものその話ばかりしている. artu はいうまでもなく プログラミング作法 にも正規表現が出てきた. まったくこのマンネリめ. そう斜に構えつつ読み直してみると, 案外ラディカルな話も載っているのに気付く. 9.7 "オンザフライコンパイル" より: Ken Thompson はまさにこの方法によって 1967 年に IBM7094 上に正規表現を実装した. 彼のバージョンは, 正規表現に含まれる様々な処理を小さ

  • Oniguruma JavaポートがJRubyを速める

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Oniguruma JavaポートがJRubyを速める
  • REXML Numbers With Joni

    As Ola reported earlier today, we've merged Joni, Marcin Mielczynski's port of Oniguruma, to JRuby trunk. Here's the description from the Oniguruma home page: Oniguruma is a regular expressions library. The characteristics of this library is that different character encoding for every regular expression object can be specified.The benefit for us is avoiding the encode/decode we previously had to d

  • JRuby、鬼車を取り込む | エンタープライズ | マイコミジャーナル

    JRubyの主要開発者であるCharles Nutter氏は27日(米国時間)、JRuby trunkにJoniがマージされたことを発表した。JoniはMarcin Mielczynski氏によってJavaに移植された「鬼車」の実装。鬼車はK.Kosako氏によってC言語で開発されている正規表現ライブラリ。正規表現オブジェクトごとに異なる文字エンコーディングを指定できるという特徴があり、The BSD Licenseのもとで公開されている。 鬼車を移植したJoniがJRubyへマージされたことは、JRubyにとってパフォーマンスの面で重要な意味をもっている。これまでJRubyで使っている正規表現の機能はその特性から性能のボトルネックになっていたわけだが、これでそのボトルネックが解消されたことになる。 JRubyの次期メジャーリリースはパフォーマンスの面で極めて興味深いものになりそうだ。すで

  • 漢字だけを抜き出す Ruby の正規表現 - Rails で行こう! - Ruby on Rails を学ぶ

    すべての漢字を取り出す正規表現 がとても参考になった。結局次のような単純なコードでよいらしい。 (文字コードは UTF-8 を仮定) $KCODE = 'u' require 'jcode' puts 'aA0&!漢字です'.gsub(/[^一-龠]/, '') # => "漢字" ミソは、$KCODE = 'u' して require 'jcode' しないといけないということか。どうも上の正規表現は UTF-8 以外では使えないらしいのだが、まあいまどき、よい子のみなさんは UTF-8 以外なんて使ってませんよね・・・??

    漢字だけを抜き出す Ruby の正規表現 - Rails で行こう! - Ruby on Rails を学ぶ