タグ

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

  • sed コマンド | コマンドの使い方(Linux) | hydroculのメモ

    sed コマンド 2015/05/13 文字列を全置換したり、行単位で抽出したり、削除したり、いろいろなテキスト処理のできるコマンド。処理内容はコマンドラインパラメータで指定して、非対話的に一括処理できる。 sedで書ける処理であれば、処理内容にもよるが、perlのワンライナーで書くよりも速いことが多い。 sedというコマンド名は Stream EDitor の略らしい。 基的な使い方 2021/01/17 標準入力をなにかしら処理して標準出力に出力するので、パイプとして使える。まあたいていのUNIXツールはパイプとして使えるのだが。 ファイル名を指定すればそのファイルを読み込んで処理して標準出力に出力する。 ファイル名を指定してオプション -i を使えば、そのファイルを読み込んで、結果をそのファイルに上書きする。ファイル自体を編集したい場合には便利。(-i はGNU sed限定) 処理

  • sedの正規表現で「\w」「\d」「\s」を実現する方法

    sedの正規表現で「\w」「\d」「\s」を実現する方法を紹介します。 1.問題点 sedの正規表現では、Perlなどで使われる英数またはアンダーバーにマッチする「\w」や「\d」、あるいは空白にマッチする「\s」などのメタ文字を使うことができません。 たとえば次のスクリプトで変数dataから「123」という値を取得しようとしても、期待通りの結果になりません。 #!/bin/sh data="abc123def" result=`echo "$data" | sed -e "s/^.*\(\d\{3\}\).*$/\1/"` echo $result ということで、メタ文字と同じ効果を得られる方法を紹介します。 2.sedの正規表現で「\w」「\d」「\s」を使う sedの正規表現で「\w」「\d」「\s」などを実現するには、次の正規表現に置き換えます。 マッチ方法Perlsed 数字にマ

    sedの正規表現で「\w」「\d」「\s」を実現する方法
    Caligari
    Caligari 2016/06/10
    結局[]塚雲海
  • 正規表現によるバリデーションでは ^ と $ ではなく \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: preg_match() / JavaScript: match()

    PHP: preg_match() / JavaScript: match() 正規表現チェッカー ver3.1 PHP及びJavaScriptコーディング中に正規表現を記述する際の動作チェック等にご利用ください。 正規表現と対象文字列を入力し、[チェック!]ボタンをクリックすると、PHP: preg_match()と JavaScript: match()の実行結果がフィードバックされます。 正規表現

  • ここまで出来る!Vimの(ちょっと高度な)正規表現と検索/置換テクニック - Qiita

    Vimは非常に強力な正規表現とそれに伴う強力な検索/置換機能を備えています。 今回はそんなVimの正規表現と検索/置換のテクニックをまとめてみます。 Vim特有の正規表現を覚える Vimの正規表現には独特な方言がある Vimの正規表現は何かと面倒な事が多いです。 Perl等と比べて、様々なメタ文字をエスケープしてやらなければなりません。 例えば通常の正規表現であれば (abc)+ と書く事で、 文字列 abc の繰り返しを意味することができますが、 これをVimの正規表現で書こうとすると、\(abc\)\+ 等と書かなければならず、大変面倒です。 これらの方言はVimを使っていく上で自然に覚えていくにはいくのですが、 ついうっかりいつもの正規表現を使ってしまったり、 逆にプログラム側で正規表現を書く必要のあるときに Vim方言な正規表現を書いてしまったりして悲しい事が起こったりと結構厄介で

    ここまで出来る!Vimの(ちょっと高度な)正規表現と検索/置換テクニック - Qiita
  • 正規表現で大文字や小文字に置換する - 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
    Caligari
    Caligari 2014/10/29
  • Vimでパターン検索するなら知っておいたほうがいいこと - derisの日記

    この記事はVim Advent Calendar 2012の166日目の記事です。 165日目はaueweさんによる.vimrcに書くべきでないVimの設定項目でした。 Vimに限りませんが、テキストエディタを使う際にテキスト検索はよく使うと思います。 ある程度慣れた人だと正規表現を用いたパターン検索を使うようになります。 もちろん、Vimにも正規表現を用いたパターン検索を行う機能は備わっています。 しかし、お世辞にもVimのデフォルト設定ではパターン検索は書きやすいとは言えません。 特に、他の正規表現方言に慣れている人は、Vimの正規表現の書き方の違いに戸惑うと思います。 記事では、Vimでパターン検索するなら知っておいたほうがいいこと+ Vimのパターン検索に使えるメタ文字をご紹介します。 パターンって何?という方は:help usr_27.txtを一読することをおすすめします。 一

    Vimでパターン検索するなら知っておいたほうがいいこと - derisの日記
    Caligari
    Caligari 2014/10/27
    very mendoi
  • 1