スポンサードリンク
スポンサードリンク
2019/05/12 16:46:12 | 正規表現
図のように、データとデータの間に改行コードが入ってしまっている時。単純に詰めたいですし、データの数(行数)を調べたい時もありますね。ここで、正規表現を用いて改行コードを処理します。ずばり、サクラエディタの場合は正規表現で「\r\n」と書けば条件にひっかかります。(他のWindowエディタ等では\nかもしれません。)ここでこのまま置換後の表現を空にして置換を実行すると…全て詰まってしまいますね。より、実用的な使い方として、改行コードだけの行を失くすことができます。行頭を示す「^」を付けて「^\r\n」とするのです。参考記事:「行頭に任意の文字を加える正規表現」この状態で”すべて置換”を押下しまし...
2018/11/29 09:12:29 | 正規表現
テキストファイルから1万円以上、すなわち5桁以上の数字を抽出したい場合、以下の正規表現が使えます。\d{5,}この正規表現が意味するところは、\dが数字を表します。そして、{}で桁を指定しています。{5,6}であれば5桁以上6桁未満、{5,}であれば5桁以上の数字が抽出可能です。ただし、{,5}のような書き方で5桁以下を抽出するという表現は通じません。もし、3桁ごとにカンマが入っているような場合には、まずは作業ファイルとしてカンマを空白に置換するか、以下のような正規表現でも引っ掛けることが可能かと思います。\d.*\d{2,}.*,\d{3}↑はやや野暮ったいので他にも良い表現があると思います...
2018/10/25 00:51:25 | 正規表現
正規表現の基本、覚えておきたいテクニックです。Excelファイルやテキストファイルを編集していて、ある条件の文章を取り除きたい時って多いですよね。そんな時に有用なのが以下の正規表現です。^.*★★.*★★は任意の文字列です。画像の例であれば「検索」ですし、「正規表現」でも問題ありません。解説としては「^」が行頭を指します。「.*」で任意の文字が続く状態を示し、「★★」までの範囲をキャッチしています。そして最後に「.*」で★★以降の文字をすべて選択しています。.*で何でもよいので文字が複数続くという表現を用いて★★という任意の文字列の前後を表現しているものです。以下のテキストで「検索」を含む行を...
2015/06/09 06:16:09 | 正規表現
今回の正規表現:●.*?●:最小限の範囲にマッチさせる※●は任意の文字を示します。今回例で取り上げるのは、カギ括弧で囲まれる部分を対象とするものです。ですからはじめの●=「、うしろの●=」と読み替えて下さい。さて、正規表現で、ある部分を抽出したいのに下図のような状況になってしまって困ることはありませんか?カギ括弧でくくられた部分を抽出したいのに、はじめの”「”から最後の”」”まで引っ掛かってしまう…。* がいわゆる最長マッチの量指定子であるからです。最初の●から最後の●までを対象にしてしまうのですが、*? として量指定子の後ろに?を加えることによって”最小マッチ”と言って、最小限の範囲でマッチ...
2015/06/04 06:59:04 | 正規表現
今回の正規表現:「\d{10,}」:10桁以上の数字のみにマッチさせる指定した長さ(n桁)の文字列を表現する正規表現は「\d{n}」指定した長さ(n桁)以上の文字列を表現する正規表現は「\d{n,}」指定した長さの範囲(n桁~m桁)の文字列を表現する正規表現は「\d{n,m}」これはかなり役立ちます。私は障害調査でサーバーのログを参照する機会が何度もありましたが、上司も顧客のシステム担当者も早く結論が欲しいために切羽詰まった状況です。実際に罵倒されることも多くありました…。(泣)そんな中、私にとって役立ったノウハウが「指定した桁数を基準にデータを調査する」ことです。例を見てみましょう。上の画像...
2015/06/02 06:46:02 | 正規表現
今回の正規表現:「^」:行頭を表します。複数行の頭に特定の文字を付与したい時に重宝SQLに限らず、複数行の頭に同じ文字を付けたいシチュエーションは多いです。例えば、下図のExcelファイルで上部カラムに対し、全ての単語の前に「従業員.」を付与したい場合に正規表現を用いる方法をご紹介します。まずは対象のセルを選択してコピー(ctrl + C)そしてテキストエディタに貼り付けます。(私の場合はフリーソフトのsakuraエディタにお世話になっています。)置換機能を呼び出します。sakuraエディタの場合は「ctrl + R」ですね。すると下記の図のようになります。ここで赤枠で囲ってあるように「正規表...