タグ

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

  • regex101: build, test, and debug regex

    Please remember this entry will be public in the community library. This is not your personal regex library! To save, access and manage your personal entries, please go to the account page instead.

    regex101: build, test, and debug regex
    masudaK
    masudaK 2018/02/06
    便利
  • GitHub - ziishaned/learn-regex: Learn regex the easy way

    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

    GitHub - ziishaned/learn-regex: Learn regex the easy way
  • Debuggex: Online visual regex tester. JavaScript, Python, and PCRE.

    Using regexes for extracting data from web pages? Check out ParseHub, a visual web scraping tool built by the team behind Debuggex.

    masudaK
    masudaK 2017/08/14
    今度正規表現書くとき使お
  • 正規表現でのメールアドレスチェックは見直すべき – ReDoS

    (Last Updated On: 2018年8月13日)前のエントリでStackExchangeがReDoSで攻撃されサイトがダウンした問題を紹介しました。少しだけ掘り下げて見たところ、正規表現だけでメールアドレスをチェックしている場合、壊滅的なReDoS(十分短い文字列で指数関数的に実行時間が増加する)が可能なことが判りました。 結論を書くと、正規表現でのメールアドレスチェックは見直すべき、です。(特にRubyユーザー) 追記:影響範囲はメールアドレスチェックに限らないので、正規表現チェックは全体的に見直さないと、どこが脆弱なのか判りません。見直してチェックしたとしても、それが完全であったと保証することは困難です。ネット検索して直ぐに見つかった検索パターンは非常に脆弱であったこと、メールアドレスのマッチパターンは脆弱になりやすい繰り返しの繰り返しが含まれること、これらがあったのでタイト

    正規表現でのメールアドレスチェックは見直すべき – ReDoS
    masudaK
    masudaK 2017/01/24
    初めて聞いた
  • 正規表現グループを設定してパターンの一部にマッチした文字列を取得する

    正規表現のパターンの中に正規表現グループ(キャプチャグループ)を設定することで、パターン全体にマッチした文字列とは別に、パターンの中の一部分にマッチした文字列を取得することができます。ここでは Java の正規表現で正規表現グループを利用する方法について解説します。

    正規表現グループを設定してパターンの一部にマッチした文字列を取得する
  • 正規表現を解析して可視化してくれるサイトが凄すぎる件

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

    正規表現を解析して可視化してくれるサイトが凄すぎる件
    masudaK
    masudaK 2014/10/22
    今度ハマったら使ってみよう。
  • Fluentular: a Fluentd regular expression editor

    Regular Expression Test String Custom Time Format (See also ruby document; strptime) Example (Apache) Regular expression: ^(?<host>[^ ]*) [^ ]* (?<user>[^ ]*) \[(?<time>[^\]]*)\] "(?<method>\S+)(?: +(?<path>[^ ]*) +\S*)?" (?<code>[^ ]*) (?<size>[^ ]*)(?: "(?<referer>[^\"]*)" "(?<agent>[^\"]*)")?$ Time Format: %d/%b/%Y:%H:%M:%S %z

  • モダンなインターフェースで正規表現が学べる『RegExr v2.0』 | 100SHIKI

    よくあるツールではあるが、今風のインターフェースだったのでご紹介。 RegExr v2.0を使えば、さまざまな正規表現をブラウザ上で試すことができる。 ちゃんとリファレンスも付いているので、迷った時に参照してみるといいだろう。 また作った正規表現はコミュニティとシェアしたりお気に入りに入れることもできる。 そろそろ正規表現をマスターしたい・・・という人はいかがだろうか。

    モダンなインターフェースで正規表現が学べる『RegExr v2.0』 | 100SHIKI
  • CSVファイルのヘッダー行だけを置換するPerlワンライナー - give IT a try

    はじめに CSVファイルのヘッダー行だけを置換するPerlワンライナーを作ってみました。 下の例では列名に含まれるスペースをアンダーバーで置き換えています。 2行目以降のデータは置換されません。 DBD::CSVモジュールでは列名にスペースが入るとダメみたいなので、これを作りました。 ワンライナー perl -0777pi -e 's/^([^\n]+)\n/join("_", split(" ", $1)) . "\n"/e' test.csv 置換前 COL 1,COL 2,COL 3 A 1,B 2,C 3 D 4,E 5,F 6 置換後 COL_1,COL_2,COL_3 A 1,B 2,C 3 D 4,E 5,F 6 ワンライナーの読み方 1行目だけを取得したいので、ワンライナーのオプションで「-0777」を指定してファイル全体を一つの文字列と見なしています。 さらに「^([^\

    CSVファイルのヘッダー行だけを置換するPerlワンライナー - give IT a try
  • 正規表現 - 2部 Perl言語仕様 - [SMART]

    正規表現の概要 正規表現は、Perlの中で最も重宝する機能のひとつです。正規表現にはテキスト処理のための様々な機能があり、文字列の中から特定のパターンを見つけ出したり、置換したりすることができます。 正規表現の基的な使用方法 たとえば、$strという変数に格納したデータの中から、「A」で始まって途中は何があるかわからないが最後が「E」という文字列を探したい場合、次のように記述することで、条件にマッチする文字列を見つけることができます。 $str =~ /A.*E/; 上記では、ドット( . )が改行以外の1文字を表し、アスタリスク( * )がその任意の文字の0回以上の繰り返しを意味します。このように、正規表現において特殊な働きを持った文字を正規表現演算子、またはメタ文字と呼びます。また、=~ はパターン結合演算子と呼ばれ、「左辺の値から右辺の値を検索する」という意味があります。 正規表現

    正規表現 - 2部 Perl言語仕様 - [SMART]
  • 手を動かしながら覚える正規表現<基礎入門編>

    正規表現というと、便利そうなんだけど読み方がわからないし、わけのわからない記号が並んでいてあまり近づきたくないという人もいると思います。ネット上のサンプルを見ると記号がたくさん並んでいて取っつきにくそうな雰囲気があって、中には魔法の呪文だろうこれはと言いたくなるようなものもあります。しかし、普段使うような正規表現は少しのルールを覚えるだけでたいてい読めるようになります。簡単なものであれば、慣れてしまえば一瞬で読めるようになりますし、慣れないうちでもルールに沿って読んでいけば何が書いてあるのかは意外と簡単に読めるものなのです。 このページでは、基的な正規表現を紹介しています。説明を読むだけではなかなか覚えられないという方のために、実際に正規表現を入力して動作を確認できる練習問題も用意しています。 正規表現は一度しっかり覚えてしまえば二度と忘れることはありませんので、ぜひここで確実に身につけ

  • 高速かつ省メモリなGoogleの正規表現ライブラリ re2 についてのメモ - naoya_t@hatenablog

    高速かつ省メモリなGoogleの正規表現ライブラリ re2 についてのメモ。 RE2は、PCRE や PerlPython で使われているようなバックトラッキング正規表現エンジンの代替となる、高速で、安全で、スレッド・フレンドリーなC++ライブラリです。 バックトラッキング・エンジンは一般に機能や便利なシンタックスシュガーが満載ですが、小さな入力に対してさえも指数関数的に時間がかかる羽目に陥ることがあります。RE2はオートマトン理論を用い、正規表現検索が入力のサイズに対し線形の時間内に走ることを保証しています。 検索を固定量のメモリに制約できるように、RE2はメモリ制限を実装しています。 どのような入力もしくは正規表現を処理しなくてはならないとしても、小さな固定のC++スタック量のみ使用するようRE2は設計されています。そのため、RE2はスレッドスタックを任意に拡げられないマルチスレ

    高速かつ省メモリなGoogleの正規表現ライブラリ re2 についてのメモ - naoya_t@hatenablog
    masudaK
    masudaK 2012/04/20
    何回も読まんと頭入らん…
  • この機会にマスターしようぜ、正規表現、構文図、オートマトン - 檜山正幸のキマイラ飼育記 (はてなBlog)

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

    この機会にマスターしようぜ、正規表現、構文図、オートマトン - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 【レビュー】grep(1)の正規表現をもっと使えるようになる7つのサンプル | エンタープライズ | マイコミジャーナル

    Guides, HowTos and Tips for Technology Geeks - The Geek Stuff LinuxやFreeBSDなどのUnix系OSを使う場合に必須になるコマンドのひとつにgrep(1)がある。grep(1)は指定した文字列をファイルや標準入力から抜き出したり、またその逆の処理を行うなどの目的で利用されるコマンド。特定のキーワードを指定してファイルを特定するために利用されるほか、コマンド出力を加工したり、データを加工したりといった用途で使われている。 grep(1)はキーワードの指定に正規表現を指定できる。正規表現はgrep(1)の活用範囲をきわめて広くする重要な機能であり、grep(1)の基的な使い方をマスターした後にぜひ習得しておきたい機能といえる。The Geek StuffのAdvanced Regular Expressions in Gr

  • 第7回 Linuxでのファイル検索と正規表現 - Windowsプログラマに贈るLinuxプログラミング入門:selfup

    今回は,ファイルの検索方法と正規表現の基礎を具体的に紹介します。基礎の基礎なので,しっかりと覚えておきましょう。 前回 は,Linux(Ubuntu)上でC/C++言語のコンパイルを試してみました。今回は,ファイルの検索方法と正規表現の基礎を紹介します。 プログラミングを続けていると,いつの間にかたくさんのファイルが作られていて,「あのファイルはどこに?」と探し回ることになりかねません。今回はファイルの検索について取り上げます。 シェルのメタキャラクタ 「拡張子が".txt"であるファイル」を表す場合,「*.txt」のように表すことができるのはご存じでしょう。任意の長さの文字列を表す「*」や,任意の1文字を表す「?」のことをワイルドカードと呼んでいますが,Linuxでも同様に「*」「?」を使うことができます。 早速,端末を起動して試してみましょう(図1)。端末は[アプリケーション]メニュー

    第7回 Linuxでのファイル検索と正規表現 - Windowsプログラマに贈るLinuxプログラミング入門:selfup
  • Riue ちゃんの正規表現講座

    sixnine.net 2024 著作権. 不許複製 プライバシーポリシー

  • 1