タグ

regexに関するtmsanrinshaのブックマーク (34)

  • 物理サーバを選定する際のポイント – Eureka Engineering – Medium

    エンジニアとしてのものづくりの楽しみ方とモバイルエンジニアとしての開発の面白さ」を論じる。スキル向上に悩めるモバイルエンジニアへの参考として価値を期待し、モバイルアプリ開発の奥深さに考えを巡らせることで強い動機を持ち、次の挑戦が見えてくる。

    物理サーバを選定する際のポイント – Eureka Engineering – Medium
  • 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
  • Fluentdの正規表現を攻略する - Qiita

    formatのデバッグツール Fluentdのログの正規表現が正しいかはFluentularで確認しならが操作できる。 http://fluentular.herokuapp.com/ ただし、これはHerokuの無料プランで動いているらしく使用できないことも多いのでDockerからでもできる 作成方法 定義されたフォーマットを指定するか正規表現を利用します。 定義されたフォーマット一覧 fluentd側で予め10個の定義が用意されています。デフォルトのログの設定を利用している場合はこれらを使用することができると思われるので使用すると良いでしょう。 apache2 apache_error nginx syslog tsv csv ltsv json none multiline ただし、注意点としてこれは常に通用するものではなく、該当する場合にのみ使用することができます。 apache2

    Fluentdの正規表現を攻略する - Qiita
  • Vimで検索・置換 - SanRin舎

  • 鬼雲に非包含オペレータを実装した話 - Qiita

    概要 田中哲さん(@tanaka_akr)が以前提案された「非包含オペレータ」というものを(実験的に)鬼雲に実装しました。これを使うと例えば C 言語のコメントにマッチする正規表現などが簡単に書けるようになります。 ここでは、非包含オペレータとは何か、また今後の見通しなどについて説明します。 非包含オペレータとは? 非包含オペレータは田中さんが約 9 年前に発表された、正規表現の拡張です。理論的背景と実装例は以下のスライドと論文に示されています。 正規表現における非包含オペレータの提案 Absent Operator for Regular Expression 従来の正規表現では、「特定の文字以外の 1 文字にマッチする正規表現」は文字クラスの否定を使って [^x] のように書くことができますが、それに対して「特定の文字列を含まない文字列にマッチする正規表現」は簡単に書くことはできません

    鬼雲に非包含オペレータを実装した話 - Qiita
  • 正規表現メモ

    \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

  • golang で正規表現クロスワードを解く - Qiita

    この記事は Go Advent Calendar 2016 最終日の記事になります。参加頂いた皆さんお疲れさまでした。 今年も昨年に引き続き、25人以上の方が「何か書きたい」と名乗り出て頂き、gogo2、go3 の3(2年連続)、計75エントリが揃う事になりそうです。Go 言語の人気が高まってきているのが良くわかるアドベントカレンダーでした。 あらすじ 普段あまり表だった所には姿を現さないのですが、今年は builderscon 2016 に登壇させて頂きました。 とても新鮮な体験で、味わった事のない緊張の中、いろいろな反響を貰いました。いい体験が出来たと思います。ありがとうございました。登壇し終えて数時間はなんだか緊張のほぐれた変な感じを味わっていました。懇親会の時あたりでようやく皆さんとお話する事ができて Vimmer の皆さんと Vim 談義をしてきました。 その懇親会で香り屋さ

    golang で正規表現クロスワードを解く - Qiita
  • 正規表現で「制御文字以外」のチェック - ockeghem's blog

    一般に、セキュアコーディングの基として入力値の検証(Validation)をせよということになっていますが、これが変な方向に行くといわゆる「サニタイズ」のような手法になってしまいます。以前も指摘したように、アプリケーションとしてのValidationは仕様に従って行うべきものです。 ですが、概ねどの場合でも行うべき検証として以下があると思います。 文字エンコーディングの妥当姓 制御文字(\x00〜\x1f, \x7f)のチェック 文字列長のチェック このうち後ろ二つを正規表現として書くにはどうすればいいかを考えていました。つまり、「制御文字以外の文字でm文字以上n文字以下」というようなチェックです。m文字以上、n文字以下は、{m,n}で書けるので、問題は「制御文字以外の文字」です。これはtextタイプのinput要素で、かつアプリケーション仕様としては文字種の制限をしない場合を想定してい

    正規表現で「制御文字以外」のチェック - ockeghem's blog
  • 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
  • 正規表現で大文字や小文字に置換する - Qiita

    \uや\lを使えば、大文字や小文字に置換することができます。 大文字へと置換 たとえば foo_bar_hoge_piyo の (^|_)(.)を\u\2に置換すると、 FooBarHogePiyo とアッパーケースにできます。 小文字へと置換 LOG_FILE.TXT の(.)を\l\1に置換すれば log_file.txt とロワーケースにできます。 使えないエディタもあります エディタによっては、採用している正規表現エンジンの違いで大文字/小文字への置換ができません。 Vimや、Windowsだとサクラエディタなら使えます。 Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful i

    正規表現で大文字や小文字に置換する - Qiita
  • サービス終了のお知らせ

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

  • 正規表現ジェネレーターコマンド『rgxg』を使ってみる | 俺的備忘録 〜なんかいろいろ〜

    諸事情あって正規表現について調べていたところ、どうやら正規表現を作成してくれる『rgxg』というコマンドがあるようだ。 早速、インストールして使ってみよう。 なお、検証したOSはUbuntu 14.04 LTSを用いている。 1.インストール まずはインストールから。 以下のコマンドでインストール出来る。 sudo apt-get install rgxg これでインストールが出来た。 2.実行 さて、それでは実際にコマンドを実行してみよう。 詳細な使い方については、manで見てもらうとして、ここではいくつかの例を抜粋して紹介する。 このrgxgコマンドでは、基的には以下のようにサブコマンドを指定して正規表現を生成する。 rgxg [alternation,cidr,escape,range] 正規表現にしたい内容 blacknon@BS-PUB-UBUNTU-01:~$ rgxg Us

  • 正規表現のキャプチャの応用 - rikubaのブログ

    キャプチャした部分文字列を、文字クラスや先読みに転用できることに気づいた。 順不同の組み合わせ 例えば、ショートカットキーを表す文字列(ここでは ctrl+shift+alt+x とする)にマッチする正規表現において、ctrl と shift と alt の順番に関わらずマッチさせたい場合。 全ての組み合わせを列挙する方法もあるけれど var regexp = /^(?:(?:ctrl\+(?:shift\+alt|alt\+shift))|(?:shift\+(?:ctrl\+alt|alt\+ctrl))|(?:alt\+(?:ctrl\+shift|shift\+ctrl)))\+x$/; regexp.test("alt+shift+ctrl+x"); // => true regexp.test("alt+ctrl+alt+x"); // => false キャプチャと否定先読み

    正規表現のキャプチャの応用 - rikubaのブログ
  • GitHub - tmux-plugins/tmux-copycat: A plugin that enhances tmux search

    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 - tmux-plugins/tmux-copycat: A plugin that enhances tmux search
  • Regular Expression Test Drive

    Regular Expression Test Drivefor Java Developer Java正規表現の動作確認ができるサイトです。正規表現をその場でテストできます

  • PHP: サブパターン - Manual

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

  • ちょい足しawkの基本|ざる魂

    $ awk '[BEGIN {各行を処理する前の処理}] [パターン] {各行の処理} [END {各行を処理した後の処理}]' BEGIEN, END, パターンは省略できる("[]"でくくったもの) 例は以下。アクセスログのステータスコードが200のものを出力 awk '$4 == "200" {print $4,$5}'# $4が200のとき、$4,$5を表示 awk '$4 != "200" { print }' # $4が200でないとき、1行まるごと表示 awk '$4 ~ /200/ { print }' # $4が200のとき、1行まるごと表示(正規表現) awk '$1 ~ /^a/ { print}' # $1が"a"で始まるとき、表示(正規表現) awk '$1 !~ /^a/{ print}' # $1が"a"以外で始まるとき、表示(正規表現) (例)

  • 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
  • サービス終了のお知らせ

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

    tmsanrinsha
    tmsanrinsha 2015/08/16
    かっこ
  • 正規表現:悪い表現、いい表現、最良の表現 | POSTD

    わずかな文字がいかにしてパフォーマンスに大きな違いを生めるかというお話 正規表現は、私たち開発者がことあるごとに駆使する呪文のようなものですが、私たちはそれをどんな時も巧みに使いこなしていると言えるでしょうか。正規表現は繊細で精密な言語です。入念な慎重さで記述してやれば、ボウリングで一瞬にして完璧なストライクを取るような強力なテキストとなり得ます。 しかし、正規表現が精密さに欠ける状態で投げ出されると、さながら酔っ払いがよろよろとつまずきながらテキストの上を歩くがごとく、そのボールはぎこちなくボウリングのレーンを転がり、ピンを1つか2つ倒すだけで終わってしまうのです。 これら2つの正規表現の違いは何なのか。何がいい表現と悪い表現を分けるのか。正規表現に素晴らしい力を与えるメカニズムを、この投稿で明かしてみようと思います。効果的な表現とそうでない表現との大きな違いをきっと分かってもらえるはず

    正規表現:悪い表現、いい表現、最良の表現 | POSTD