並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 305件

新着順 人気順

0回以上 正規表現の検索結果1 - 40 件 / 305件

  • 投資対効果の極めて高い、プログラムなんて分からない人のための「単純作業自動化」入門 - R&D: りょうえんダイアリー

    あるいは、正規表現+置換による、プログラミングができなくても単純なテキスト編集作業を強力に自動化する方法 このTipsの概要 このTipsでは「テキストを、強力に自動的に操作する方法」が得られます。 自動化といっても、プログラミング言語に習熟するのは大変です。 そこで、プログラミングほど、習熟や利用に負荷が掛からず、かつ応用範囲が広い「正規表現」と言われる書式と、テキストエディタなどに付属の「置換」機能を組み合わせたものを解説します。 具体的にできるようになること たとえば「ネットから文章をテキストエディタにコピー&ペーストしたが、変な改行がたくさん入っているので、改行を手動で消す作業をたくさんしないと。」 とか 「ごはん、ご飯、御飯、ゴハン」と、いろんな書き方で書かれている「ごはん」を、全部「ご飯」という表記に統一したい とか 「Skypeからコピペしたら、発言者名がいっぱいついて、消す

      投資対効果の極めて高い、プログラムなんて分からない人のための「単純作業自動化」入門 - R&D: りょうえんダイアリー
    • 正規表現メモ

      \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

      • 正規表現の機能の覚書き

        はじめに「はじめての正規表現」がホッテントリ入りしていますが、 導入としては、何に使うのかがわかりやすくて良いのではないかと思います。 あれを見て、基本機能をまとめてみたくなったので、正規表現の基本的な機能について書いてみます。 (正規表現が初めてという人は「はじめての正規表現」を先に見たほうがいいと思います。) 例では「検索」か「置換」をするものとして話を進めていきます。 (「はじめての正規表現」が実例を中心にしたのに対して、こちらは機能を中心に書きます) 正規表現は、プログラミング言語やその他のツールなど、それぞれで微妙な違い(方言)があるので、その点には注意が必要です。 (表記法が違ったり、ここに紹介する機能がサポートされていなかったり、逆に紹介していない機能をサポートしていたりする場合があります) メタ文字とリテラル文字正規表現には、メタ文字とリテラル文字というものがあります。 メ

          正規表現の機能の覚書き
        • 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 の組み合わせで端末環境を整える

          • Emacs クイックリファレンス

            back はじめに このマニュアルは emacs (あるいは mule) を使いはじめてまだ間もない頃の 人のためのものです。emacs を一度も使ったことのない人は残念ながら 対象としていません (そういう人には emacs 付属のチュートリアルをすすめます)。 これを読んでも emacs が快適に使えるようになるかどうかはあなた次第です。 emacs はマウスやカーソルキーで操作することもできますが、 これらを使っているようでは上達しないということも 覚えておいてください。このマニュアルはよその人にも読めるように書いた つもりですが、基本的に csc (東工大 情報工学科 計算機室) で emacs を 使用する人を対象としています。そのため、日本語入力環境やメール環境については 必ずしもあなたのサイトとは一致しないかもしれませんので注意してください。 基本的なこと ファイル操作 カー

            • 退屈なことはPythonにやらせよう 第2版

              一歩先行くハイパフォーマンスなビジネスパーソンからの圧倒的な支持を獲得し、自作RPA本の草分けとして大ヒットしたベストセラー書の改訂版。劇的な「業務効率化」「コスト削減」「生産性向上」を達成するには、単純な繰り返し作業の自動化は必須です。本書ではWordやExcel、PDF文書の一括処理、Webサイトからのダウンロード、メールやSMSの送受信、画像処理、GUI操作といった日常業務でよく直面する面倒で退屈な作業を、Pythonと豊富なモジュールを使って自動化します。今回の改訂では、GmailやGoogleスプレッドシートの操作、Pythonと各種モジュールの最新版への対応、演習等を増補しています。日本語版では、PyInstallerによるEXEファイルの作成方法を巻末付録として収録しました。 訳者まえがき まえがき 第I部 Pythonプログラミングの基礎 1章 Pythonの基本 1.1 

                退屈なことはPythonにやらせよう 第2版
              • 正規表現 - SMART 開発者のためのウェブマガジン

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

                  正規表現 - SMART 開発者のためのウェブマガジン
                • 退屈なことはPythonにやらせよう

                  関連ファイル サンプルコード(日本語版) サンプルコード(原著者) 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ページの奥付でお手持ちの書籍の刷版、刷り年月日をご確認の上、ご利用ください。 正誤表 訳者まえがき まえがき 第Ⅰ部 Pythonプログラミングの基礎 1章 Python入門 1.1 式をインタラクティブシェルに入力する 1.2 整数、浮動小数点数、文字列型 1.3 文字列の連結と複製 1.4 変数に値を格納する 1.4.1 代入文 1.4.2 変数名 1.5 最初のプログラム 1.6 プログラムを分析する 1.6.1 コメント 1.6.2 print()関数 1.6.3 input()関数

                    退屈なことはPythonにやらせよう
                  • Dreamweaverの正規表現置換サンプルと解説

                    Dreamweaverの検索と置換って何気に凄い。 色々出来る中でもかなり便利だと思う正規表現を使った置換のサンプルを挙げてみる。 スパゲッティなソースの修正も、これと特定のタグ検索知ってれば作業スピードが格段に上がるかも。 「特定のタグ」で出来るじゃんというのも中にはありますが、正規表現を使うことに意味があるので突っ込みは受け付けませんw 微妙に間違ってたところ修正入れつつ加筆。 Dreamweaverで正規表現を使うには? Ctrl+F(コマンド+F)押して表示されるダイアログの右下にある正規表現を使用にチェックを入れるだけです。 テキストを維持したままタグを減らしつつ変更 HTML→XHTMLで一番多い作業がこれだと思う 置換対象: <td width="397"><font size="2">テキスト</font></td> 置換後: <th scope="row">テキスト</t

                      Dreamweaverの正規表現置換サンプルと解説
                    • Vimでパターン検索するなら知っておいたほうがいいこと - derisの日記

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

                        Vimでパターン検索するなら知っておいたほうがいいこと - derisの日記
                      • 正規表現基礎文法最速マスター With Perl - 小池啓仁 ヒロヒト応援ブログ By はてな

                        Perlでの正規表現のサンプルと文法一覧です。 他の言語をある程度知っている人はこれを読めば正規表現の基礎をマスターして正規表現を書くことができるようになっています。 簡易リファレンスとしても少し利用できると思います。 他言語からの人は、正規表現を使う機会がなかったかもしれませんが・・・。 Perlでは、正規表現を使うための言語と言っても過言ではありません。 正規表現を使うことによりテキスト(文字列)編集処理が飛躍的に楽になるのです。 では、まずはじめにテストデータ、family.txt を用意します。 このテストデータを元にしてサンプルプログラムを踏まえて解説をしていきますね。 ・family.txtファイルの内容 macha koike yachu koike chaichan koike hiro koike mama koike papa koike koike 6 ni-bo-

                          正規表現基礎文法最速マスター With Perl - 小池啓仁 ヒロヒト応援ブログ By はてな
                        • C 言語をマスターしている人への perl 早見表

                          変数の宣言の強制 変数のスコープ ループからの脱出 ファイル入出力 print 文関係 引数の取得 標準入出力 環境変数の取得 サブルーチンとの引数のやりとり foreach 文 文字列の連結 文字列のマッチング、比較 文字列の置換 文字列の分解 文字列の統合 文字列の処理 配列 2 次元配列 正規表現 if 構文 連想配列 ( ハッシュ変数 ) rewind eof find_header int と剰余 goto 文 ディレクトリの操作 ファイルテスト演算子 特殊変数 シグナル処理 ヒアドキュメント 配列全体に作用するコマンド ソート 省略形 入出力のバッファリングをしない 配列の要素のシフト 処理内容をファイルに落としてメールする system 文 ◆◆ 変数の宣言の強制 ◆◆ ファイルの先頭に use strict; と書くと、そのファイル中のメイン関数(関数宣言なしに 書き始め

                          • PHP 基礎編9 - 正規表現、マッチ、置き換え、ereg、eregi、eregi_replace - SAK Streets

                            PHP 基礎編9 - 正規表現、マッチ、置き換え、ereg、eregi、eregi_replace ■正規表現 ・PHP では、ereg で文字列の検索や置き換えを行う。 (パターンマッチ、パターンマッチング) 大文字小文字の区別をしない場合は、eregi を使用する。 また、文字列を置き換える場合は、ereg_replace を使用する。 大文字小文字の区別をしない置き換えは、eregi_replace を使用する。 $rcd = ereg(マッチパターン, 対象変数 [, 代入配列]); |_ True 一致(マッチ数) False 不一致 $rcd = eregi(マッチパターン, 対象変数 [, 代入配列]); |_ True 一致(マッチ数) False 不一致 $rcd = ereg_replace(マッチパターン, 置換文字列, 対象変数); |_ True 一致(マッチ数)

                            • Vimmerに捧げる正規表現の基礎中の基礎 — KaoriYa

                              正規表現はVimに限らずコンピューター上でのテキスト操作において非常に強力です。 しかし学習の難しさも非情で多くのIT技術者、Vimmerが正規表現に苦しんでいるのを幾度となく目の当たりにしています。 ただ正規表現は本当にそんなに難しいのでしょうか。 いいえそんなことはありません。 正規表現は本来とても簡単な原理で学習も容易なのです。 にも関わらず難しいと思われてしまうのは、原理を理解しないまま外見上の機能をそのまま覚えようとするからです。 本記事では正規表現の原理にフォーカスし解説することで、Vimを含む様々な正規表現実装の利用難度を適切にしようという記事です。 本記事は Vim Advent Calendar 2019 の1日目の記事です。 「正規表現」はもともと形式言語という言語学の一分野の研究から生まれました。 言語学というのは言葉を科学的に研究する学問です。 形式言語はその中でも

                              • UNIXのsedチュートリアル10 | エンタープライズ | マイコミジャーナル

                                Guides, HowTos and Tips for Technology Geeks - The Geek Stuff Sasikala氏がThe Geek StuffにおいてUnix Sed Tutorial: Find and Replace Text Inside a File Using RegExのタイトルのもと、sedコマンドで置換を実施する場合の使い方とその例題をまとめている。sedはテキストファイルから特定の行を表示したり削除、または特定の文字列を置換する用途で用いられる。特に文字列の置換をおこなうためのツールとして活用されることが多い。 sedは便利なツールだが、置換の指定方法はマニュアルを読むだけではわかりにくいところがある。実例を通して身につける方法がわかりやすい。Unix Sed Tutorial: Find and Replace Text Inside a

                                • 正規表現 (Ruby 2.5.0)

                                  [edit] メタ文字列とリテラル、メタ文字とエスケープ 式展開 文字 任意の1文字 文字クラス 特別な文字列に対するマッチ 繰り返し キャプチャ グループ 部分式呼び出し(subexpression call) 選択 アンカー 条件分岐 オプション エンコーディング コメント フリーフォーマットモード 非包含オペレータ (absence operator) (実験的) 一覧 特殊変数 参考文献 正規表現(regular expression)は文字列のパターンを記述するための言語です。また、この言語で記述されたパターンも正規表現と呼びます。 正規表現を用いると、文字列が指定したパターンを含んでいるかどうかを判定し、また含んでいるならばそれが文字列中のどの場所であるかを知ることができます。 /pat/ %r{pat} などの正規表現リテラルや Regexp.new などで正規表現オブジェク

                                  • PEG基礎文法最速マスター - kmizuの日記

                                    Scala基礎文法最速マスターを書こうか迷っていたら、既にyuroyoroさんに書かれてしまったので、ちょっと違う方向で。BNFを既に知っている人は、これを読めばPEGの基礎をマスターしてPEGを書くことができるようになるでしょう(ほんとか?)。 基本 Parsing Expression Grammar(PEG)はBNFに似ているけど、ちょっと(かなり?)違う文法の表記法です。BNFはその文法がどのような言語を表現しているかを定めるのに対して、PEGは入力がどのように解析されるかを定めます。PEGとBNFの一番大きな違いは、PEGには曖昧さが無いことです。たとえば、プログラミング言語のif文を表現する次の擬似BNFには曖昧さがあります。 statement ::= if_statement | ...; if_statement ::= IF LPAREN expr RPAREN sta

                                      PEG基礎文法最速マスター - kmizuの日記
                                    • Hustler's Tutorial to Emacs Lisp

                                      優しい Emacs-Lisp 講座 メジャー・モードを作ろう Emacs-Lisp without a Hustle pcs39334@asciinet.or.jp yuuji@ae.keio.ac.jp (C) 1991-1995 by HIROSE, Yuuji メジャーモードを書こう 多くの Emacs(-Lisp) 関係の教本の常識を無視して、いきなりここから 始めます。これがもっとも早い道だと信じるからで、事実私もそうしてきました。 メジャーモードってなに 多くの Emacs-Lisp プログラマがで最終的に目指す目標の一つが、「メ ジャーモードが書けるようになる」ことでしょう。メジャーモードとは、例えば c-mode のように対象となるテキストの種別に適した、もっと言うと「専用 の」編集モードの事を指します。 GNU Emacs では、編集ファイルのファイル名のパターンと、その

                                      • Linuxで使う正規表現についてまとめました

                                        正規表現とは、複数のケースにおいて、その言葉が指定した文字のパターンに一致しているかをチェックするものだ。 Linuxでも正規表現は使え、ファイルの検索や一括の処理など様々な場面で活躍する。 書籍やWebに掲載されている例をそのまま使って動作させることもできるが、基本をしっかりと抑えれば応用も聞いて、幅広く使えるだろう。 このページでは、Linuxで使える正規表現を一通り解説した。ぜひ参考にしてほしい。 正規表現の基本 正規表現とは? 正規表現は、正規という言葉がついているので誤解しやすいが、きちんとした文字を指定するものではない。 むしろ、あやふやな文字を指定することで、複数の文字列にマッチするのか調べる方法だ。 例を3つ挙げてみよう。 「print」「script」の2つの文字列で同じパターンを見つけてみると、文字は、pとrとiとtが含まれるという共通点がある。 「echo」と「blu

                                          Linuxで使う正規表現についてまとめました
                                        • Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (Ruby 2.0.0)

                                          ! ? # % & | + - * / ^ ' . , < > = ~ $ @ _ {} [] () " : ` \ ; ! !true not 演算子。演算子式/notを参照。 3 != 5 「等しくない」比較演算子。演算子式/notを参照。 def xxx! 「!」はメソッド名の一部です。慣用的に、 同名の(! の無い)メソッドに比べてより破壊的な作用をもつメソッド(例: tr と tr!)で使われます。 /xxx/ !~ yyy 正規表現のメソッド =~ の否定。マッチが失敗したらtrueを返します。 ? ?a リテラル/文字列リテラル。長さ 1 の文字列。 def xx? この場合の「?」はメソッド名の一部分です。 慣用的に、真偽値を返すタイプのメソッドを示すために使われます。 xx ? yy : zz 演算子式/条件演算子。三項演算子とも呼ばれます。if xx then yy e

                                          • 正規表現の基礎

                                            正規表現(regular expression)の基礎 1 正規表現とは 正規表現は、ある文字の並び(文字列)を表現する一つの方式です。「文字の並び」のことを「パターン」と言ったりもします。でも、基本的には単なる文字列です。 例えば、 abc という3文字を示すための正規表現は、それと全く同じ abc という3文字です。 list という4文字を示す正規表現は、それと全く同じ list という4文字です。なんだ、つまらない。 これだけで終わってしまったんじゃ、ほんとにつまらないですが、残念ながら難しいことで悪名高き正規表現は、これで終わりになりません。次のような例を考えてみて下さい。 文書中に 「第1章」とか「第2章」とか「第3章」といった記述があるとします。今、検索したいのは1章でも2章でも何でもいいんですが、とにかく「第X章」だとしましょう。Xは、何でもいいという訳です。このような場合

                                            • 無料&登録不要で正規表現を図示してくれる「Regexper」を使ってみた

                                              アプリ開発の場面では、入力されたテキスト内に誕生日などの特定パターンの文字列が含まれているかを確認したり、別の文字列に置き換えたりするときに、正規表現は必須です。しかし、正規表現を誤ってしまうと、アプリケーションによっては、データを破壊してしまったり、誤作動を起こすリスクがあるのも事実。このため正規表現を変更する場合、事前に試験用の環境で試すのが普通ですが、開発現場によっては、試験用の環境であっても簡単に適用できない場合や、本番用の環境しかないなど、試す場面が限られることが考えられます。このとき、机上での検証を行いますが、人の手による検証は、どれだけ実力のある人がチェックしても誤るリスクがあり、不安を拭うことはできません。「Regexper」を使えば、入力した正規表現を無料で、機械的に図示して、読みやすくしてくれるとのこと。複雑な正規表現を入力しても読みやすくなるのか、実際に使ってみました

                                                無料&登録不要で正規表現を図示してくれる「Regexper」を使ってみた
                                              • ★★★CGI-Perl 基礎編 (その八) 正規表現、マッチパターン、置換演算子、変換演算子 - SAK Streets

                                                CGI-Perl 基礎編 (その八) 正規表現、マッチパターン、置換演算子、変換演算子 ■正規表現 ・過去扱ってきた言語に正規表現などと言うものは存在しなかった。 上手く使うと非常に便利である。(パターンマッチ、パターンマッチング) 以下、簡単にまとめておく。 ■マッチパターン演算子 i 大文字、小文字の区別なし s 単一行として処理 (^、$ は、\n を無視) m 複数行として処理 (^、$ は、行先頭、行末尾) x 空白を無視、# をコメント処理 ■メタ文字 . 改行を除く任意の 1 文字 * 0 回以上のパターン繰り返し + 1 回以上のパターン繰り返し ? 0 または 1 回のパターン ^ 先頭から $ 末尾から \ メタ文字クォート | パターン論理和 () パターングループ [] 文字クラス {} 量指定子 \n 改行 文字クラスでも指定可 \r キャリッジリターン 文字クラ

                                                • Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (Ruby 3.3 リファレンスマニュアル)

                                                  [edit] ! ? # % & | + - * / ^ ' . , < > = ~ $ @ _ {} [] () " : ` \ ; ! !true not 演算子。演算子式/notを参照。 3 != 5 「等しくない」比較演算子。演算子式/notを参照。 def xxx! 「!」はメソッド名の一部です。慣用的に、同名の(! の無い)メソッドに比べてより破壊的な作用をもつメソッド(例: tr と tr!)で使われます。 /xxx/ !~ yyy 正規表現のメソッド =~ の否定。マッチが失敗したらtrueを返します。 ? ?a リテラル/文字列リテラル。長さ 1 の文字列。 def xx? この場合の「?」はメソッド名の一部分です。慣用的に、真偽値を返すタイプのメソッドを示すために使われます。 xx ? yy : zz 演算子式/条件演算子。三項演算子とも呼ばれます。if xx then

                                                  • 正規表現サンプル集

                                                    直前のパターンの0回以上繰り返し(最長一致) 例1)ABC* → AB、ABC、ABCCCCCC などにマッチ 例2)b.*k → bから始まってkで終わる2桁以上の文字列

                                                    • 正規表現は怖くない - PHP Note

                                                      正規表現ってあの記号の羅列っぽいところが苦手なんです。あまり長~いものだと知恵熱が出ます。でも、何年も続けてる甲斐あってようやくわかるようになってきました。良く使う正規表現パターンは限られますし、正規表現を使ったプログラミングのパターンも見えてきましたのでここいらでまとめてみました。 正規表現ってな~に? まず「郵便番号」を例にしてみます。では、郵便番号はどんな文字で構成されてるのか、後輩に教えるつもりで表現してみてください。私なら「"3桁の数字" に続けて "-(ハイフン)" があり、つづけて "4桁の数字" で構成されている文字列」と表現します。他にもあるでしょうが大抵の方にはこれでわかってもらえると思います。 この説明がまさに正規表現です。ひとことで言うなら「文字列の構成を表現したもの」といえます。文章だとコンピュータにわからないのでコンピュータにわかるよう表現したのが記号の羅列に見

                                                      • NetDaemon: vi

                                                        目次 イントロダクション 基礎 組み合わせ 編集コマンド カウント カーソル移動コマンド スクロールと再表示 入力モード 置換 アドレス指定 正規表現 ex コマンド set コマンド マクロ定義 起動時オプション指定 その他役に立たない情報 イントロダクション いまどき vi を使う理由って、いったいなんだろう。 はっきりいって vi は、簡単には使いこなせない奇妙なエディタだし、 機能だってそれほど多くない。 漢字入力はそもそも不可能で、漢字対応バージョンでも非常に使いづらくてやっていられない。 一般的なエディタは、キーを押すとその文字がそのまま入力される。 カーソル移動やファイルのセーブなどのコマンドは、機能キーやコントロールキーとの組み合わせに割り当てられていて、文字の入力とコマンドとをダイナミックに打ち分けることができるようになっている。 Emacs や、FreeBSD 標準の簡

                                                        • ITキヲスク | コレだけ知れば十分捗る!「正規表現」たった2つのポイント

                                                          長文テキストから必要な文字列を抜き出したり、HTMLソースから欲しいトコを抽出したりしたい時、役に立つのが「正規表現」。 使えるようになるとメチャクチャ便利なんですが、記号の羅列っぷりに気押されして、初めはなかなか手をつけられないんですよねー。 自分自身まだまだヒヨッコではありますが、それでも「たったコレだけ知ってるだけでも、効率がガクンと上がったよ!」という正規表現について、ご紹介しちゃおーと思います。 サンプルは基本的にPHPのモノですが、内容はPerlでもテキストエディタの検索/置換機能でもおおよそ同じかと思いますので、そこら辺は各自で適宜読み替えつつ、ご覧になって下さいまし☆ 「正規表現」2つのポイント 本題の前に(正規表現とpreg_replace関数・preg_match関数について) 正規表現自体イマイチ良く分からんって方のためにカンタンに説明すると、正規表現とは「あらかじめ

                                                            ITキヲスク | コレだけ知れば十分捗る!「正規表現」たった2つのポイント
                                                          • 正規表現:最短一致でマッチさせる表現 | WWWクリエイターズ

                                                            ※Vimのmagicを利用した正規表現は、記述方法が異なりますので、ご注意下さい。こちら「 正規表現:特殊文字(メタ文字)の一覧 」をご覧ください。 最短マッチを見つける正規表現 さて、具体例を見ていきましょう。例えば、から<a></a>で囲まれたアンカータグを「1つだけ」取り出す事を考えます <nav> <a href="/about">About</a> | <a href="/access">Access</a> | <a href="/contact">Contact</a> </nav> 改行以外のすべての文字を表す「.」を利用して、「<a . *</a>」と言った正規表現が思いつきます。ですが、これだと「最長一致」を探してしまい、上記の例だと、3つのアンカータグをひと続きでマッチしてしまいます。 // アンカータグを検出?(デリミタに#を利用) #<a.*>(.*)</a>#

                                                            • 青木峰郎『ふつうのコンパイラをつくろう』の目次がやばいのでサイン会@RubyKaigiのお知らせ - 思っているよりもずっとずっと人生は短い。

                                                              (7/22追記:ふつパイラのサポートページができていました。下記よりもサポートページの方が確実かと思うので、そちらをどうぞ。) 青木峰郎先生が3年の歳月を費やしてついに完成させた労作『ふつうのコンパイラをつくろう』、RubyKaigi2009で先行発売されているのはみなさんご存知というか、もちろん来場されたみなさんはすでに購入済みかと思うのですが、買いそびれてしまった方のために、とある信頼できる情報筋から目次のデータをゲットいたしました。以下に転載いたします。 中身についてはあえて多くは語りませんが、構文解析からアセンブラ生成と最適化を終えて、その後に「第4部 リンクとロード」があるのが注目だそうです。ELFの話から位置独立コードの話まで、「そこまでやるか」もきっちりフォローするのが青木先生の「ふつう」の「ふつう」たるところと言えましょう。読んでないけど。 そして明日は12:00からRub

                                                                青木峰郎『ふつうのコンパイラをつくろう』の目次がやばいのでサイン会@RubyKaigiのお知らせ - 思っているよりもずっとずっと人生は短い。
                                                              • Man page of BASH

                                                                Section: User Commands (1) Updated: 2010 December 28 Index JM Home Page roff page 名前 bash - GNU Bourne-Again SHell 書式 bash [options] [file] 著作権 Bash is Copyright (C) 1989-2011 by the Free Software Foundation, Inc. 説明 bash は、標準入力やファイルから読み込んだコマンドを実行する、 sh 互換のコマンド言語インタプリタです。 bash には、Korn シェルや C シェル (ksh や csh) の便利な機能も採り入れられています。 bash は IEEE POSIX specification (IEEE Standard 1003.1) の Shell and Utili

                                                                • 使うほどに良さが分かる正規表現

                                                                  初歩的なパターン指定 では簡単そうなところから順番に紹介していきましょう。 任意の1文字「.」 まずは任意の1文字と一致する「.」です。数字やアルファベット、記号など、文字種は問いません。DOS/Windowsのワイルドカードの「?」に相当すると考えればいいでしょう。 ちなみに、「.」自体に一致してほしいときはどうすればよいのでしょうか? その場合は「\.」と書きます。これに限らず、\を直前に置かれた文字は特別な意味を失い、そのままの文字を意味することになります。正規表現でファイル名を指定するときに「main.c」と書くと、目的の「main.c」にもマッチしますが、「main2c」などといったファイル名にもマッチしてしまいます。正確を期すためには「main\.c」と書かなければなりません。 0回以上の繰り返し「*」 次はワイルドカードの「*」に相当するパターンを紹介しましょう。実は、正規表

                                                                    使うほどに良さが分かる正規表現
                                                                  • 第5章 パーサコンビネータ―小さなパーサを組み合わせて大きなパーサを作る | gihyo.jp

                                                                    この章では、関数型の至宝であるコンビネータライブラリについて説明します。 コンビネータとは何か? この章でいうコンビネータとは、ある型の部品と部品を組み合わせて、同じ型のより大きな部品を作るための関数のことです。たとえば、パーサのコンビネータライブラリは、パーサを組み合わせるための各種コンビネータを提供しており、簡単にパーサを作成できます。コンビネータライブラリは、言語内DSL(Domain Specific Language)と表現してもよいでしょう。 関数型では、パーサに加えて、データを文字列でわかりやすく表示するプリティプリンタ、SQL、XML、ハードウェア記述、そしてデリバティブ(金融商品)記述、楽譜記述など多様なコンビネータライブラリが作られ、実際に使われています。この章では、パーサのコンビネータライブラリを取り上げます。 CSVのパーサ たとえ簡潔でも、実用的でないパーサの例だ

                                                                      第5章 パーサコンビネータ―小さなパーサを組み合わせて大きなパーサを作る | gihyo.jp
                                                                    • JavaScriptの技法:正規表現を学ぶ - builder by ZDNet Japan

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

                                                                      • 2行に渡るメールヘッダの正しい処理

                                                                        問題発生 長いメールヘッダの規定 MIMEの規定 正しいメールヘッダ復元の実装 問題発生 ある方より、メール投稿利用時に長い日本語タイトルを付けると、途中に半角スペースが入ってしまうというバグ報告を受けました。 Subject: =?ISO-2022-JP?B?GyRCPmFHKz5hRys+YUcrPmFHKz5hRys+YUcrPmFHKz5hGyhC?= =?ISO-2022-JP?B?GyRCRys+YUcrPmFHKz5hRys+YUcrPmFHKz5hRys+YUcrPmFHKz5hGyhC?= のようにMIMEエンコードが長くなり空白が入ったときに、この空白がデコードされてもそのまま残ってしまうことが原因です。やっつけならこの空白を除去するだけで良いのですが、やっつけプログラムは最低なのできちんと調査してみました。 長いメールヘッダの規定 RFC 2822「Internet

                                                                          2行に渡るメールヘッダの正しい処理
                                                                        • Webページ内を検索するときに使う正規表現 - Qiita

                                                                          正規表現を使うことで、通常の検索では実現できない高度な検索が可能になります。 たとえば、「Ruby」か「Python」か「Perl」のどれかに一致してほしいときや、「JavaScript」ではなく「Java」に一致してほしいときや、円周率の小数点以下100万桁から同じ数字が6つ以上続いているところを検索したい、などの用途に使えます。この他にも様々なことが正規表現で可能です。 ということで、Webページ内を検索するときに使う正規表現を紹介していきます。 正規表現を使う際の注意点 正規表現を使った検索を行う際に留意すべき点があります。正規表現には、特別な意味を持つ文字がいくつかあります。具体的には^!$()=|+*{}[]<>.?\です。これらはメタ文字と呼ばれ、正規表現の中に含めたときに特別な意味を持ちます。そのため、たとえば検索したい文字列の中にこれらの文字が含まれている場合、修正する必要

                                                                            Webページ内を検索するときに使う正規表現 - Qiita
                                                                          • Linuxでextglobを有効にして「指定したパターン以外のファイル」を指定する | 俺的備忘録 〜なんかいろいろ〜

                                                                            仕事などで日常的にLinuxを利用しているのであれば、ほぼ大半の人がglobを利用した事があるだろう。 globという名前にはあまり馴染みが無いかもしれないが、以下のようにワイルドカードや複数のファイル名を指定したりする機能は使ったことがあるはずだ。 例)「/work」フォルダ配下のファイルを「/work2」に移動する mv /work/* /work2/ 例)「/work」フォルダ配下の「aaa.txt」「bbb.txt」のみを削除する rm /work/{aaa.txt,bbb.txt} このような指定方法を可能にしているのがglobという機能になる。 そんなglobを拡張したのが、今回紹介するextglobだ。 このextglobを利用すると、globでは指定が難しかった事、例えば"特定のフォルダ以外を指定する"といった事が簡単に行える。 bashやzshで有効になっているかどうか確

                                                                            • perlre - Perlの正規表現

                                                                              NAME DESCRIPTION Regular Expressions Backtracking Version 8 Regular Expressions WARNING on \1 vs $1 Repeated patterns matching zero-length substring Creating custom RE engines SEE ALSO NAME perlre - Perlの正規表現 DESCRIPTION このページでは、Perlの正規表現の構文を説明します。マッチング演算 子中での正規表現の使い方や様々なサンプルについては、] perlopにあるm//、s/// qr//、?? を参照してください。 マッチング操作は様々な修飾子(modifier)を持つことができます。正規 表現中に置かれ、解釈される修飾子には以下のようなものがあります。 操作の振る舞いを

                                                                              • grepでこういう時はどうする? - Qiita

                                                                                文字列を抽出するときも、抽出除外するときも便利なGREP、LinuxでCUI操作をするには無くてはならない存在です ほとんど抽出にしか使いませんが、多少覚え書きがありましたので共有しておきます よく使う使い方 grep 検索したい文字列 検索したいテキストファイル コマンド | grep 検索したい文字列 grep -e 検索したい文字列1 -e 検索したい文字列2 検索したいテキストファイル grep -i 検索したい文字列 検索したいテキストファイル grep -E '正規表現' source.txt #利用できる正規表現 . 改行文字以外の任意の1文字 * 直前の1文字の0回以上の繰り返しに一致。直前の文字は正規表現でも構わない ^ 行の先頭 $ 行の末尾 [ ] かっこ内の任意の1文字に一致。ハイフン(-)で範囲指定もできる [^ ] かっこ内の任意の1文字に不一致。ハイフン(-)

                                                                                  grepでこういう時はどうする? - Qiita
                                                                                • 正規表現 (Ruby 1.9.3)

                                                                                  正規表現(regular expression)は文字列のパターンを記述するための言語です。 また、この言語で記述されたパターンも正規表現と呼びます。 正規表現を用いると、文字列が指定したパターンを含んでいるかどうかを判定し、 また含んでいるならばそれが文字列中のどの場所であるかを知ることができます。 /pat/ %r{pat} などの正規表現リテラルや Regexp.new などで正規表現 オブジェクトを得ることができます。 メタ文字列とリテラル、メタ文字とエスケープ 正規表現の文法には、正規表現内で特別な働きをする文字列と、それ以外の その文字列そのものにマッチするような文字列があります。 前者をメタ文字列(meta string)、後者をリテラル(文字列)(literal string)と呼びます。 /京都|大阪|神戸/ という正規表現においては、「京都」「大阪」「神戸」がリテラルで