Regular Expression Test Drivefor Java Developer Java正規表現の動作確認ができるサイトです。正規表現をその場でテストできます
DBからCSV(カンマ区切り)やTSV(タブ区切り)でデータを出力するってことがたまにあるのですが、出力するデータに改行が入っているとCSVやTSVのフォーマットが崩れてしまってエクセルなどでうまく開けない時ってありますよね。 そんな時に幸せになれるかもしれない方法(PostgreSQL限定)を書いてみます。 素直に改行コードをreplaceで変換する 一つ目の方法は、まあ、単純に思いつきそうですが、replace関数で変換してしまう方法です。 変換対象の改行コードは以下のように表すことができます。 chr(13) : CR(キャリッジリターン) chr(10) : LF(ラインフィード) chr(13)||chr(10) : CRLF これをSQLで書いてみると、 select replace(replace(replace(description,chr(13)||chr(10),'
echo '[a]\[b]'; # => [a]\[b] echo '[a]\\[b]'; # => [a]\[b] echo '[a]\\\[b]'; # => [a]\\[b] echo '[a]\\\\[b]'; # => [a]\\[b] echo '\\'; # => \ echo '\'; # パースエラー 慣れないうちは省略せずに全てエスケープすることをおすすめします。ちなみにこれはPHPに限っての挙動であり、 C や Java ではこのような挙動にはならず、 必ずエスケープしなければなりません 。 ダブルクオート内で処理されるシーケンス 一部マニュアルに記載がないものもあります。 記述 実際の表示 意味 備考
2章 セレクター この章で見る主な内容です。 基本的なセレクター 検索する対象(範囲)を指定する書き方 階層構造によるセレクター 基本、子要素フィルター コンテントフィルター フォーム系フィルター .is()フィルター セレクト回数を減らそう 基本的なセレクター jQueryでは、CSSでお馴染みのセレクターを使って、要素を選択(取得)します。ここでは、以下の基本的なCSSセレクターを見て行きましょう。 要素(タグ)セレクター クラスセレクター IDセレクター グループセレクター ユニバーサルセレクター 属性セレクター 要素(タグ)セレクター 要素(タグ)名を元に対象要素を選択します。要素名は、括弧(<>)は付けずに、そのまま書きます。 例えば、
解説 () はグループ化を表します。グループ化されたパターンは一文字とみなされます。(AB)+は AB,ABAB,ABABAB...を表します。 \w は英数字と下線(アルファベット、数字、下線)を表します。[0-9A-Za-z_] と同じ意味になります。 + は直前の文字の1回以上の繰り返しを意味します []はグループを表します。括弧内で指定した文字のいずれかとなります。[-+.']は"-"か"+"か"."か"'"のどれかという意味になります。 * は直前の文字の0回以上の繰り返しを意味します。 \. は"."の文字を表します。\を除いた"."は任意の一文字を示す意味になるためです。 |(縦棒)は(A|B)と記述し、AまたはBのパターンの意味を持ちます。 ? は直前の文字が1つもしくは無いという意味です。 コード例(C#) private void button1_Click(objec
PHPってレンタルサーバで動くことが多いので、mecabモジュールなんて期待できない。 そこで考えた。もうセイキヒョウゲンでいいや。YahooのAPIも良いけれど、簡単なテストでそれは不要だろう。 正規表現でカタカナ・漢字・ひらがなに分割して分かち書きっぽいことする。 単語境界で区切るPHP word_boundary.php <?php $str="これはテストです。動作するかなぁ" preg_match_all('/[一-龠]+|[ぁ-ん]+|[ァ-ヴー]+|[a-zA-Z0-9]+|[a-zA-Z0-9]+/u', $str, $matches); print_r($matches); // マッチ結果が全出力 出力結果 Array ( [0] => Array ( [0] => これは [1] => テスト [2] => です [3] => 動作 [4] => するかなぁ ) )
JavaScript独特な書き方で理解が困難かつWebを探してもまとまったサイトが無かったのでまとめました。 オブジェクト オブジェクトリテラル オブジェクトは複数のプロパティを含むコンテナであり、プロパティは名前と値で構成されている。 var flight = { airline: "Oceanic", departure: { IATA: "SYD", "city-name": "Sydney" // JavaScriptの名前規則に従わないはクォート「""」が必要 }, arrival: { city_name: "Los Angeless" // JavaScriptの名前規則に従う場合はクォート「""」が不要 } }; flight.departure.IATA // "SYD"が取得できる JavaScriptにおける関数はオブジェクトです。そのためそれ以外の値と同様に扱うこと
文字列の検索や文字列の書式チェックに使うだけでも正規表現は便利なのですけど、置換の際にも使えるようになると、正規表現を何倍も便利に感じられます。 多機能なテキストエディタであればたいていは正規表現を用いた置換をサポートしています。プログラミングする方だけでなくテキストエディタで文章を書いている方にとっても便利な道具となりますので、正規表現による置換処理をぜひ身につけていって下さい。 なお、このページは基礎入門編を読み終えた方を想定しております。正規表現について分からないことがあればそちらをご覧下さい。 登場した正規表現はリファレンスにまとめてあります。まとめて振り返る時などはこちらをご覧下さい。 まずは基本から。単純な文字列置換を紹介します。置換では「マッチパターン」と「置換文字列」の二つを指定することになります。例えば「ください」を「下さい」に置換する場合、マッチパターンと置換文字列はそ
基礎入門編と置換処理編で正規表現について説明しました。ここではこれまでに登場した正規表現を整理してまとめています。一部登場していないものも含まれています。 正規表現について詳しく知りたい方には「詳説 正規表現」(通称フクロウ本)がお勧めです。
正規表現とは? とは「一定のパターンで表記されている文字列を、抽象的な表記法に置き換えて表現する方法」を指します。 例えば、このような例があります。 行頭を一文字字下げしたい よくある処理方法 各行の頭にカーソルを移動して一文字下げる(…以下全ての行に繰り返し実行) 正規表現を利用した処理方法 検索キーワードにを意味する正規表現を指定 置換キーワードに「全角空白」を指定 をに置換→行頭に全角空白が挿入 正規表現は、上の事例のような定型的処理を大量かつ高速に実行したい場合に威力を発揮します。また、その理論上処理漏れ(上の事例の場合では字下げ忘れ)も発生しません。 他にも、以下のような場合で正規表現が有効になります。 (句点)の後で必ず改行したい 「本文の注釈表記+番号」を一度に削除したい HTML文書のマークアップ(タグ)だけを削除したい 行頭の特定パターン文字(例:行頭の字下げに挿入した空
獅子ログ Home rss プロフィール zakira Akira Yoshimaru (株)ソースクリエイト所属。最強のスキマSE目指して奮闘中 ページビュー 333388 最新タイトル [プログラム]ホッテントリサーチを公開しました [話題の]Windows7に移行する前に確認しておきたいXPモードの真実 [WEBサイト]DreamweaverでDIVタグのショートカットを作る方法 [WEBサイト]リンクをクリックしたときに横に伸びる点線を消す方法2 [WEBサイト]3大検索エンジンへのsitemap.xmlの登録法のまとめ はてなブックマーク総合ランキング [プログラム]LWPモジュール入門 -WEBページを取得する- [UNIX][小技]そのまま使えるmodRewriteの技10発 [プログラム][WEBサイト]プログラマじゃなくても3キャリア+PC絵文字対応が出来るセット [UN
Regarding the validity of a UTF-8 string when using the /u pattern modifier, some things to be aware of; 1. If the pattern itself contains an invalid UTF-8 character, you get an error (as mentioned in the docs above - "UTF-8 validity of the pattern is checked since PHP 4.3.5" 2. When the subject string contains invalid UTF-8 sequences / codepoints, it basically result in a "quiet death" for the pr
With the (?R) item you can link only to the full pattern, because it quasi equals to (?0). You can not use anchors, asserts etc., and you can only check that string CONTAINS a valid hierarchy or not. This is wrong: ^\(((?>[^()]+)|(?R))*\)$ However, you can bracketing the full expression, and replace (?R) to the relative link (?-2). This make it reusable. So you can check complex expressions, for e
正規表現で文字列検索を行いたいときにpreg_matchを使うことがある。 $str = 'アストロデオのブログ'; preg_match('/ブログ/', $str, $result); //$resultの中身 array([0] => ブログ) このpreg_match、検索対象の文字列が1行なら特に問題ないのだけど、複数行にまたがるようなときは、上記の書き方だと上手く結果を返してくれない。 file_get_contentsなどでファイルの情報を取得し、さらにその中の一部の情報を取得したいようなとき、1行だけしか検索できないと、都合が悪いことがある。 <div> � � � <p>アストロデオのブログ</p> </div> 例えばsample.htmlに上のようなコードがあり、そこを丸々取得したいとする。 $data = file_get_contents('sample.html
正規表現をまとめてみる。 preg_match で使われる正規表現の書き方の前に まずは、 <検索対象文字列が1行か?それとも複数行か?> 文字列の中からパターンに合致する部分を探し出す場合、その文字列が1行(改行文字が1つ)なのか、複数行(改行文字が複数)なのかで、マッチ演算子を適切に指定。 preg_match("/パターン/", 調べる文字列); "/パターン/" //文字列の1行目のみを調べる "/パターン/g" //複数行を調べる "/パターン/s" //改行文字を無視し、1行とみなして調べる ついでに、 "/パターン/i" //文字列の大文字・小文字を区別しない "/パターン/is" //大文字・小文字を区別せず、1行とみなして調べる <基本> preg_match は、文字列中に現れた最初のパターンのみを検出。
ウノウラボ Unoh Labs: PHPのちょっとしたコツ 最近のスクリプト言語は機能が多く、基本的な機能はほとんど実装されているので、アルゴリズムをどうこうするより、どの機能を使うか選ぶ方が重要だったりしますね(コーディングの効率的にも)。 自分にもそういったレベルで気をつけていることがいくつかあります。 -[早起き生活]PHPのパフォーマンスチューニング -[早起き生活]PHPのパフォーマンスチューニング その2:count()も使い過ぎると重くなる -[早起き生活]PHPのパフォーマンスチューニング その3:APC投入 あと、最近気づいたTIPSとしては、 日本語を正規表現検索したいときでもereg系の関数を使うのはやめとけ なんてのもあります。 PHPの組み込み正規表現関数にはPHP独自のereg系とPerl互換のpreg系がありますが、ヘルプに書いてあるとおり、ereg系
この修飾子を設定すると、パターン中のドットメタ文字は 改行を含む全ての文字にマッチします。 これを設定しない場合は、改行にはマッチしません。 この修飾子は、Perl の /s 修飾子と同じです。[^a] のような否定の文字クラスは、この修飾子の設定によらず、常に改行文字にマッチします。 (PHPマニュアルより引用) <?php $str = 'abc axz ayz'; // パターン修飾子「なし」 preg_match_all('/^a.*z$/', $str, $cap); var_dump($cap); array(1) { [0]=> array(0) { } } // パターン修飾子「m」 preg_match_all('/^a.*z$/m', $str, $cap); var_dump($cap); array(1) { [0]=> array(1) { [0]=> strin
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く