Regular Expression Test Drivefor Java Developer Java正規表現の動作確認ができるサイトです。正規表現をその場でテストできます
正規表現は適切に使うと、プログラムの手間を削減できる強力なツールになります。 ただ、正規表現を使うと動作テストが面倒だったり、慣れないうちはどんなことが書いてあるのかわからないなんてこともあると思います。 そんな時に、便利な正規表現のためのテストツール&可視化ツールの紹介です。 正規表現のテストツールなんて、どれも同じかと思いきや、結構それぞれ特徴ある機能があるものも多いので、メモがてらまとめてみました。 photo by Jeff Kubina 正規表現チェッカー 正規表現チェッカー PHP: preg_match() / JavaScript: match() PHPのpreg_matchとJavaScriptの matchの実行結果を返してくれる定番のテストツールです。 日本語のリファレンスやサンプルがあるので、メタ文字などを忘れてしまった時などにも便利。 以下のように、PHPとJa
正規表現の解説はいろいろあるので、ここでは便利に使えそうな表現をまとめます。 はじめに 正規表現(Regular Expression)とは、文字列のパターンを表現する表記法です。主に文字列の検索/置換を行なうときに利用されます。正規表現は、通常の文字とメタキャラクタと呼ばれる意味を持った特別な記号を組み合わせて表記します。メタキャラクタとは、「^」という文字は「行の先頭」、「$」という文字は「行の末尾」、「.」は「任意の1文字」、「+」という文字は「直前の要素の1回以上の繰り返し」を意味します。 正規表現を利用すると、直接文字列を指定せずにあるパターンをしていするため、表記の揺れを吸収して検索したり置換を行ったりすることが出来ます。 メタキャラクタ まず、一般的に使われるメタキャラクタをちょっと紹介します。
Regular Expression Test String Custom Time Format (See also ruby document; strptime) Example (Apache) Regular expression: ^(?<host>[^ ]*) [^ ]* (?<user>[^ ]*) \[(?<time>[^\]]*)\] "(?<method>\S+)(?: +(?<path>[^ ]*) +\S*)?" (?<code>[^ ]*) (?<size>[^ ]*)(?: "(?<referer>[^\"]*)" "(?<agent>[^\"]*)")?$ Time Format: %d/%b/%Y:%H:%M:%S %z
次のように、拡張子の除去やファイル名の取得などで、よく使われます。 $ mypath=/home/hoge/foo.txt $ echo ${mypath%.*} → 拡張子を除く /home/hoge/foo $ echo ${mypath##/*/} → ファイル名のみを得るfoo.txt 理解しておくと便利なシェルの制御構造 bashは単純なコマンドだけではなく制御文も受けつけます。制御構造を使うと定型的な処理を行うのが楽になります。 コマンドの繰り返し シェルで繰り返しを行うにはfor文、while文、until文などがあります。ここでは、コマンドライン上でよく利用されるfor文、while文を紹介します。 for文 for文ではリストから項目を1つずつ取り出します。取り出した値は、指定した一時変数に格納され、処理内容が実行されます。処理内容はdoとdoneの間に記述します。 $
ついつい忘れてしまう、ls等で使える正規表現いろいろ。 $ ls dummy123.txt dummyabc.txt.bak test123.txt testabc.txt $ ls test* test123.txt testabc.txt $ ls *{123,abc}* dummy123.txt dummyabc.txt.bak test123.txt testabc.txt $ ls *{123,abc}.txt dummy123.txt test123.txt testabc.txt $ ls dummy{123}* ls: dummy{123}*: No such file or directory 文字列を一つのみ指定するとエラー。「ls dummy123*」でいい訳だが。。。 $ ls dummy{qqq,www}* ls: dummyqqq*: No such file
あるフリーウェアのインストール用bashプログラムを見ていたら次の様なものがあった。(以下の例は簡略化してある。) STRING="abc" if [[ "$STRING" =~ "^ab[cd]$" ]]; then echo "matched" else echo "unmatched" fi if文の条件表現の中に“=~”というオペレータがある。manを見ると =~ オペレータは文字列を正規表現と比較するとある。知らなかった。bashの文字列比較で正規表現が使えるとは。私は正規表現比較が必要な時はgrepに喰わせて判断していたのだが、これを使えば簡単にできる。 ところが、だ。上のプログラムが期待通りに動かない。上の例では =~ の左辺と右辺の正規表現はマッチするはずだが、結果は“unmatched”。色々と正規表現を変えてみたが、どれとしてマッチングしない。しかし、if文を次のように
ある正規表現に対して、特定の文字列がマッチするかどうかをチェックするツールやサイトは沢山ありますが、正規表現そのものが何を意味しているのか、どんな文字列を期待しているのかを解析・解読・説明してくれるツールやサイトってなかなか見ない気がします。 他人の書いた正規表現を見て、「ん?」ってなったことはありませんか? 例えばこれ。 1 ^[a-zA-Z0-9-_.]@([a-zA-Z0-9_-]+\.)+[a-zA-Z]{2,4}$ これくらいなら分かりますが、複雑になってくるとつらい… いつかはマスターしたいけど…今は楽したい。 そう思ってググってみると…ありました! それがこちら。 Regexper http://www.regexper.com/ 正規表現を入力して Display をクリックすると、その正規表現が表す内容を図にして表示してくれます。 例えば先程の正規表現は、当記事の一番上の
English 紹介 -Excel用正規表現検索・置換ダイアログ- 機能概要 正規表現による検索・置換ダイアログを表示するExcelアドインです。 エクセルで正規表現を使用した柔軟な検索が行えます。 インターフェースがエクセル標準の検索に近いので使い易いと思います。 類似ソフトと比較して以下の特徴があります。 ・次を検索、前を検索での順次検索…すべて検索のみが多い。 ・検索処理と検索ワークシート関数の二刀流…どちらか一方のものが多い。 ・VBScript+.NET Framework、.NET Framework、Onigmoの複数正規表現エンジン対応 …VBScriptのみが一般的。.NET Frameworkも取り入れることで戻り読みも可能。 主に以下の機能があります。 ・正規表現による検索、置換 ・正規表現に関するワークシート関数 ・オートシェイプの検索、置換、Grep、Grep置換
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く