タグ

regexpに関するkenjiro_nのブックマーク (45)

  • 不必要な制御文字への対処 - pixiv inside

    こんにちは、晴れて2020新卒になったmipsparcです。最近は趣味の鉄道技術同人誌の新版が出来上がって喜んでいます。 記事では、入力値には必ずと言っていいほど混入する不必要な制御文字への対処方法をご紹介します。ユーザーに文字列を入力してもらうことのあるすべてのサービスで活用できる話かと思います。 不要な制御文字が入ることで生じる問題 前提として、この記事は制御文字類が必ずしも邪魔と言いたいわけではありません。 制御文字は多言語対応(特に右から左方向に記述する言語)などで重要なときもありますが、今回は問題が発生しうるケースのお話をします。 「‪腐向け」 「メリークリスマス‬」 「ゾンビ」 なんの変哲もない3つのイラストタグですが、どれも不可視の制御文字が混入しています。 $ php -r "var_dump(json_encode('腐向け'));" string(26) ""\u2

    不必要な制御文字への対処 - pixiv inside
  • サクラエディタで空行削除 | あたごやまにっき

    2009-01-10 viならば瞬殺できるもののWindowsのエディタ(サクラエディタ(http://sakura-editor.sourceforge.net/))では空行を削除する方法よく分からないのでgoogleで検索したところ"sakura editor BBSから抜粋"(http://www.geocities.jp/maru3128/sakura_bbs.html :2019年3月にサービス終了でリンク切れ)というページがあり正規表現で^[\r\n]+から無入力に置換することで削除できることが分かりました。なんだか回りくどいような気もしますが人に頼むときはこの方法が楽かも。秀丸エディタでも正規表現にチェックを付ければ使えます。秀丸(HMJRE.DLL)では^\nでもヒットするのにサクラエディタ(bregonig.dll)は^[\r\n]+でないとヒットしないあたりややこしい

    サクラエディタで空行削除 | あたごやまにっき
  • Excelで正規表現を使って置換する方法 - RAKUS Developers Blog | ラクス エンジニアブログ

    こんにちは、新卒2年目のmrym_618です。 今回は、VBAやマクロを使わずに、Excelで正規表現を使って置換する方法についてまとめていきたいと思います。 はじめに エディタを使って置換する方法 最後に はじめに 最近、業務でExcelを正規表現を使って置換したいことがありました。 しかし、Excelの置換機能では、正規表現を使うことができませんでした。 VBAやマクロを使えばできそうですが、VBAやマクロの知識があまりないので少し難しそうだと思っていました。 そこで、もっと簡単に正規表現を使える方法について調べてみると、エディタを使うことでできることがわかりましたので、その方法を紹介していきたいと思います。 エディタを使って置換する方法 今回は、サクラエディタを使った方法について紹介します。 まず、Excelをコピーし、サクラエディタに貼り付けます。 その後、サクラエディタのメニュー

    Excelで正規表現を使って置換する方法 - RAKUS Developers Blog | ラクス エンジニアブログ
  • サクラエディタのMarkdown正規表現とカラー - 人とか機械とか

    Wikiに上げました。 Customize/投稿/77 - SakuraEditorWiki こんな感じになります。 Markdownアウトライン解析プラグインと一緒につかっています。 ngyuki/sakuraeditor-plugin-markdown · GitHub 引用とコードブロックが重なっている場合や、リストがネストされているとかいう場合は色づけが正しくありません。 あくまで正規表現で色をつけているだけで、正規表現の範囲を超える構文解析が必要になるような部分は対応できていない、なんちゃってなものです。ご了承ください。

    サクラエディタのMarkdown正規表現とカラー - 人とか機械とか
  • りょうくんグルメの文体を自動でもとに戻すやつを作りました - 開け閉め

    りょうくんグルメをご存知だろうか。知らなくても、人のツイートの雰囲気は料理レシピなんかで一度は見た文脈のはずだ。 こんなやつ。 まじでこの世の全てのタピオカ好きに教えてあげたいんだが新宿三丁目のceleb縁味には全ての人間を虜にする禁断のオレオミルクフォームがある。 これが濃厚黒糖で超絶美味いからぜひ全国のタピオカ好き、タピオカを愛する者たち、タピオカを憎む者たち、全てのタピオカ関係者に伝われ pic.twitter.com/wnnPvkJ2pr— りょうくんグルメ (@uryo1112) 2019年6月15日 「りょうくんグルメ」は文章が情報量に対してやたら長いので、pythonの練習も兼ねてアイデンティティである上から目線の構文を取り去ることにした。逆りょうくんグルメである。 手順は大雑把に分けて以下の3ステップ。 1. Twitterからりょうくんグルメのツイートをスクレイピング

    りょうくんグルメの文体を自動でもとに戻すやつを作りました - 開け閉め
    kenjiro_n
    kenjiro_n 2019/06/26
    技術的にはすごいがトータルの行動原理としては古く悪しきはてな村のようなおちょくりなのか。猛省を求める。ブックマークコメントで事情を知らなければよかった。
  • GNU AWK 5.0がリリース。8年ぶりのメジャーバージョンアップ。正規表現ライブラリがGLIBCからGNULIBへ移行、名前空間が実装

    GNU AWK 5.0がリリース。8年ぶりのメジャーバージョンアップ。正規表現ライブラリがGLIBCからGNULIBへ移行、名前空間が実装 UnixやLinuxにおいてsedやgrepなどと並んでよく知られているツールの1つがawk(オーク)です。このawkのGNUプロジェクトによる実装の最新版「GNU AWK 5.0」(gawk 5.0)のリリースが発表されました。 2011年にリリースされたGNU AWK 4.0から8年ぶり、直前のバージョンでとして2017年10月にリリースされた4.2.0からは約1年半ぶりとなります。 AWKはいわゆるスクリプティング言語の一種。変数や関数、制御文など基的な構文を備え、テキストファイルを効率的に処理できるのが特徴です。 GNU AWK 5.0の新機能としては、printfの%aおよび%Aの書式がPOSIX標準に準拠したこと、正規表現のルーチンが、長

    GNU AWK 5.0がリリース。8年ぶりのメジャーバージョンアップ。正規表現ライブラリがGLIBCからGNULIBへ移行、名前空間が実装
  • 正規表現をサッと確認するのに重宝した神サイトを紹介してみる | DevelopersIO

    はじめに こんぬづは、ゲーム用のPCを東京に置いているため、実家に帰ってくるとゲームができなくてしんどい田中です。こういうときに限って、ゲームの実況動画を見てしまったりして余計に心を痛めています。 さて今回は、今年正規表現をサッと確認するのに重宝した Regexper を紹介します。 Regexper こんなサイトです。とてもシンプル。 以下のような特徴があります。 正規表現を図で表示してくれる 表示した図をダウンロードできる 正規表現を図で表示してくれる 入力欄に正規表現を入力して、Displayボタンを押すと、以下の画像のようにその正規表現のパターンを図示してくれます。 どんな範囲でパターンマッチしてくれるのかがとても見やすくなります。 表示した図をダウンロードできる 入力欄の右下にあるDownloadボタンを押せば、表示した図をダウンロードすることができます。 例えば正規表現の仕様を

    正規表現をサッと確認するのに重宝した神サイトを紹介してみる | DevelopersIO
  • 正規表現によるバリデーションでは ^ と $ ではなく \A と \z を使おう

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

  • 正規表現でPHPを脆弱にする (1) 「^ と $」 - Qiita

    みなさん正規表現は好きですか? 私は好きです。簡単に脆弱性を作り込めて、とても便利ですからね。 この記事ではPCRE関数(preg_match(), preg_replace()など)を利用して、みなさまにPHP正規表現のバッドノウハウを教示いたします。 先に結論を書きます 単独の文字列のマッチに $ を用いるのは予期しないパターンになるのでやめましょう。^は特に危険ではありませんが、^と$の組み合せではなく\Aと\zの組み合せを覚えましょう。ただし、m修飾子で複数行(マルチラインモード)で、行頭と行末にマッチさせたい場合を除きます。 文字列のマッチに ^ と $ のペアを利用する そうですね、例としてQiitaのようなユーザー登録サイトの表示名 @tadsan のような文字列を登録する前の検査をするとします。 要件としては、使用可能な文字は abcdefghijklmnopqrstuvw

    正規表現でPHPを脆弱にする (1) 「^ と $」 - Qiita
  • Emacsとその周辺 / Emacs and CLI tools

    社内勉強会の資料です

    Emacsとその周辺 / Emacs and CLI tools
  • サクラエディタで空白行を削除する - スクラップだ!

    2017-05-21 サクラエディタの入口となるフロントサイト、正規表現ライブラリの入手先を追記した blog をアップしています。 サクラエディタで空白行を削除する方法 end. --- サクラエディタで改行のみの行(空白行)を削除する方法 (ポイント) 置換前:^\r\n 置換後:(空白) 正規表現にチェック 範囲:選択範囲 (出典:サクラエディタBBS) ・スペース・タブだけの行 ⇒ スペース・タブを削除し、空行にする場合。 置換前:^[ \t]+([\r\n]) 置換後:$1 ・スペース・タブだけの行 ⇒ 行をバッサリ削除する場合。 置換前:^[ \t]+[\r\n]+ 置換後: ・何も無い空行を削除する場合。 置換前:^[\r\n]+ 置換後: ・何も無い空行、またはスペースタブのみの行を削除する場合。 置換前:^[ \t]*[\r\n]+ 置換後: さらに、これらの中で自分がよ

    サクラエディタで空白行を削除する - スクラップだ!
  • GitHub - sizuhiko/hexpress: hexpress is a PHP library that human way to define regular expressions

    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 - sizuhiko/hexpress: hexpress is a PHP library that human way to define regular expressions
  • OLの事務vim日記 - 藻ログ

    4月から都会でOLとして働き始めたので, OL的windowsの事務処理環境を手探りで作ってみました. OLとWindows 事務処理といえばOffice, 当然Windowsで行うことになります. 今時のOLは家ではLinuxを使っているはずなので, 自然とシェル環境で困ることになります. Windows当にわからない linuxコマンド使いたい(DOS音痴) Cygwinは嫌い MinGW+MSYS にしてみたい(けど未だによくわかってない) 事務PCなので, 大掛かりな環境は入れたくない(入れられない) WSL ? そもそも Windows7 なので(ry) などのモチベーションから 色々見ていてcmderが良さそうだなと思ったのですが cmder.net 所属機関でフィルタされて落とせなかった(つらい)ので, ConEmu + msys bash の組み合わせで端末環境を整える

  • 【16進数】bash様の助けを借りて任意のバイト列を grep する - Qiita

    目的 凄腕 GNU/Linux エンジニアの皆様、ふと日常の中で 任意のバイト列を探したいことはありませんか? 例えば・・・ ・ファイル内のNULL文字('\0')の個数を検索したい ・言語設定は LANG=C だけど日語の「あ」を検索したい ・文字化けしちゃう外国語の文字を検索したい この記事は、bash 様の力を借りて、このようなケースの手助けをするための記事です。 弊社内でも案外知らない方が多かったので、メモしておきます。 基テクニック bashの力を借りる bash は、以下のようなフォーマットで 16進数表記した任意のバイト列を扱うことができます。 http://linuxjm.sourceforge.jp/html/GNU_bash/man1/bash.1.html より

    【16進数】bash様の助けを借りて任意のバイト列を grep する - Qiita
    kenjiro_n
    kenjiro_n 2016/03/31
    $`xXX'を並べて書けるというノウハウ。
  • [C#]正規表現 `System.Text.RegularExpressions.Regex`

    System.Text.RegularExpressions.Regex クラスの使い方 メタ文字正規表現の基: .NET Tips: C#, VB.NET 文字クラス . (改行は含まない-Singlelineオプションで任意の文字にマッチ)\s (ECMAScriptオプション指定時は [ \f\n\r\t\v])\S\d\D\w (アンダースコアやひらがな、カタカナ、漢字などなどが含まれるので注意-ECMAScriptオプションで [a-zA-Z_0-9])\W\r\n`\t\u0000\x00\b\*+{n,m} {n} {n,}^ $\A\Z\z(?:) (?=) (?!) (?<=) (?<!) (?#)\number $number $&(一致した部分全部)(?<name>) \k<name> ${name} 注意:見ればわかるように <~> も場合によりエスケープが必要文

    kenjiro_n
    kenjiro_n 2016/02/10
    ブログタイトルが感心できないセンスだけど正規表現が使えるという話。
  • Excelのワークシート関数で正規表現を使う - Qiita

    はじめに 皆さんは「Excelのワークシートで正規表現が使えたら良いのに・・・」と思ったことはないでしょうか? ご存知の通り、正規表現を使うと、ワイルドカードなどとは比較にならない柔軟さで、条件に一致する文字列を指定することができるようになります。 この記事では、文字列抽出の条件に正規表現を使用できるユーザ定義関数を作成する方法を紹介します。 設計方針 Excelには、正規表現の関数が無いので、VBAとVBScriptのRegExp関数を組み合わせることで、ユーザ定義関数を作成します。 作成する関数は、ワークシート関数として使いやすいように、以下のような動作で作成しました。 戻り値は1つだけ。 (複数マッチは無視して、最初にマッチした文字列だけを取り扱う。) オプションでサブマッチに対応する。 サブマッチを使用する場合は、正規表現でグループ化をした上で、第三引数にサブマッチのindexを指

    Excelのワークシート関数で正規表現を使う - Qiita
    kenjiro_n
    kenjiro_n 2016/02/04
    助かるけど結構ステップ数が多い。
  • まもなくgrep 2.22リリース - 気ままなブログ

    GNU grep 2.22が近日中にリリースされる見込みとなりました。 GNU grep 2.22は、結果不正バグが見つかったことによるバグフィックスリリースです。そのため、目立った改善点はありませんが、それらを見ていくとともに、今後の見通しについて紹介します。 GNU grep 2.22における改善/バグフィックス 結果不正バグの修正 下記のパターンは、「hello」が行頭または行末に含まる行にマッチしますが、行内に「hello」が含まれているものにマッチしてしまっています。 $ echo aaahellobbb | grep -E '^hello|hello$' aaahellobbbこのバグは、GNU grep 2.19で行頭や行末にマッチさせる正規表現の高速化が行われた際に混入したものです。 バッファオーバーランの修正 固定文字列を検索をする時は、最初にパターンの最後の文字を検索し

    まもなくgrep 2.22リリース - 気ままなブログ
  • C++の正規表現ライブラリ: std::regex

    いまさらながら、C++の正規表現ライブラリを調べている。 C++の正規表現ライブラリ、std::regexは、boost::regexを土台に設計されている。boost::regexの正規表現の文法は、perlなのに対し、std::regexは、ECMAScriptである。この理由は、しっかりと正規表現の文法が定義されていて、外部規格として参照できる品質のものが、perlには存在しないためだ。std::regexはposixと拡張posixとawkとgrepとegrepの正規表現にも対応している。 記事では、ECMAScriptの正規表現を使う。また、参考のためのECMAScriptのコードも使う。 全体一致 文字列全体が正規表現に一致するかどうかを調べたいとする var re = /1234/ ; var text = "1234" ; var result = re.test( te

  • 正規表現を解析して可視化してくれるサイトが凄すぎる件

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

    正規表現を解析して可視化してくれるサイトが凄すぎる件
  • grepで該当する行の前後も一緒に表示するには

    grepは、デフォルトでは該当する行だけが表示される。これを、該当する行の前後の行も一緒に表示させるには「-」の後ろに表示したい行数を指定してgrepを実行する。例えば、該当行の前後3行を併せて表示する場合は、「-3」というオプションを指定する。 $ grep -n kitaura smb.conf 4:      workgroup = kitaura ←-nオプションを付けたので、4行目に該当する文字列があることが分かる $ grep -3 -n kitaura smb.conf 1-[global] 2-      coding system = euc 3-      client code page = 932 4:      workgroup = kitaura ←-3オプションによって、前後各3行も表示される 5-      server string = Samba %v

    kenjiro_n
    kenjiro_n 2014/10/08
    -C n、あるいは-nというオプション(nはいずれも任意の数)を使う。それにしてもgrepのオプションはいろいろありすぎる。