スキルチェックの目次へ あなたが,正規表現を扱うプログラマーとして,中級以上の実力を持っているかどうか判定します。 下記に,正規表現に関する10問の質問があります。 いずれも,「文字列を処理する実用的なプログラム」を書く上で必要な知識です。 これから試験を行ないます。 空欄を埋めて下さい。5分以内に回答して下さい。 ※空欄は _____ のように下線として示されています。 (問1) "郵便番号は〒123-4567です。" という文字列を,str1 とします。 str1 の中に郵便番号が含まれているかどうかを判定したい場合は, /〒[0-9]{3}-[0-9]{4}/ という正規表現を記述します。 一方,str1 の中から,郵便番号の数値の「123」と「4567」の部分を抽出したい場合は, /_________/g という正規表現を記述します。 (問2) 正規表現では,(1)のように, マッ
※この記事は2013年7月10日に執筆された記事です。現在は仕様が異なる可能性があります。 大変です! あなたは、公開間近でクライアントから少々面倒な修正依頼を頂きました。 対応したいのですが、大型案件の為、納品するページ数は膨大にあり、該当する箇所がどれほどあるのか想像がつきません。 さて、この場合どのような対応がベストでしょうか? 今回は、ベストな対応をしたい方の為に便利な正規表現の使い所をご紹介します。 公開間近でクライアントからこんな修正依頼が、、、 クライアントから下記の修正依頼を頂きました。 該当するページ数は未だ不明ですが、調査対象は明日公開予定の膨大な数のHTMLファイルです。 1. ¥を円の表記に統一(¥9,000→9,000円) 2. 「しております」「してます」を「しています」に統一 3. 外部リンクのaタグは別窓指定 4. 素材と販売元の行を入れ替える 5. 最後の
JavaScriptの正規表現で特定の文字列を抜き出す「グループ化」について解説します。 JavaScriptで特定の文字列を抜き出して処理したいことがよくあるのですが、グループ化の使い方を忘れてネットで検索してもなかなかヒットしないので、備忘録で残しておきます(他に適切な方法があるようでしたらすいません)。 1.特定の文字列を抜き出す まず基本として、特定の固定文字列を抜き出すには、match関数で次のように記述します。 var foo = 'abcdefg'; var bar = foo.match(/abc/); これは変数fooに「abc」という文字が含まれていれば、変数barに abc が設定されます。 変数fooに「abc」という文字が含まれていない場合、変数barにnullが設定されます。 この使い方は、検索したい文字列があらかじめ決まっていて、上記のような代入文ではなく、判
PHPに正規表現リテラルをどんな感じで実装するかを3/2の第四回闇PHP勉強会で話しました。PerlやJavaScriptやRubyやPythonが持っているような正規表現リテラルがPHPには無いのですが、この話では実際にパッチを書いてみてどんな感じで正規表現リテラルを追加していったのかをデモをまじえつつだらだら話す感じで説明しました。 他の方の発表も基本的にはZendEngineや拡張の話だったのですが、自分の知らないところの知識やノウハウが話されていて参考になりました。@rskyさん、@do_akiさん、@hnwさん発表お疲れ様でした。 次回の開催はいつぐらいにやるか特に決めてないのですが、だいたい6,7月ぐらいになるかなーと思っています。
できるだけ正確な記述を目指していますが、誤りがありましたら、お知らせ願います。 (最終更新: 2013/3/29 11:22) 正規表現の種類 まず、PHP には以下の 3種類の正規表現があります。 Perl 互換の正規表現 (pcre) mbstring の正規表現 (mbregex) POSIX 拡張正規表現 (regex) このうち、regex は バイナリセーフでない 日本語は扱えない PHP 5.3 で非推奨 なので使わない方がいいでしょう。見つけたら、随時 pcre か mbregex で書き直しましょう。 Perl 互換の正規表現 (pcre) 正規表現エンジンは Perl の「PCRE」 日本語は UTF-8 のみ扱える UTF-8 を使う場合は、パターン修飾子に u を指定する 文字クラスはロケールの影響を受ける PHP: 文字クラス - Manual 処理の制限値 (p
あるいは、正規表現+置換による、プログラミングができなくても単純なテキスト編集作業を強力に自動化する方法 このTipsの概要 このTipsでは「テキストを、強力に自動的に操作する方法」が得られます。 自動化といっても、プログラミング言語に習熟するのは大変です。 そこで、プログラミングほど、習熟や利用に負荷が掛からず、かつ応用範囲が広い「正規表現」と言われる書式と、テキストエディタなどに付属の「置換」機能を組み合わせたものを解説します。 具体的にできるようになること たとえば「ネットから文章をテキストエディタにコピー&ペーストしたが、変な改行がたくさん入っているので、改行を手動で消す作業をたくさんしないと。」 とか 「ごはん、ご飯、御飯、ゴハン」と、いろんな書き方で書かれている「ごはん」を、全部「ご飯」という表記に統一したい とか 「Skypeからコピペしたら、発言者名がいっぱいついて、消す
よくあるツールではあるが、最近正規表現を勉強しなおしたのでご紹介。 Scriptularでは、インタラクティブに正規表現を試すことができるようだ。 エンジンとして使っているのはJavaScriptのようだ。クライアントサイドだけで試せるのでさくさく動いていい感じだ。 また右横にはリファレンス的に説明もあるのでいちいちどこかを検索する必要もない。 そろそろ正規表現を・・・という方は試してみてはいかがすかね。
XRegExp: JavaScript regex library ブラウザ標準の正規表現を拡張し、差異もなくしてくれるJavaScriptライブラリ「XRegExp」。 各種ブラウザで共通に使えるよう設計されており、追加機能やプラグインも実装できるみたい。 たとえば、次のように、分かりやすい正規表現でURLを分割したりすることができる模様。 APIのドキュメントはこちら。 標準の正規表現では満足いかないという方は参考にしてみるとよいかも。
よく使う正規表現例 メールアドレスを検索 例1:[\w.-]+@[\w.-]+ 例2:[\w\d_-]+@[\w\d_-]+\.[\w\d._-]+ 例3:[a-zA-Z0-9!$&*.=^`|~#%'+\/?_{}-]+@([a-zA-Z0-9_-]+\.)+[a-zA-Z]{2,4} ※例3はメールアドレスを厳しくチェックする場合 URLを検索 (\S+)://([^:/]+)(:(\d+))?(/[^#\s]*)(#(\S+))? IPアドレスを検索 (\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3}) 郵便番号を検索 \d{3}-\d{4} [ ]で囲まれた文字列を検索 \[[^\[]*?\] HTMLタグを検索 <("[^"]*"|'[^']*'|[^'">])*> 正規表現を使うにあたって注意すること new RegExp()の引数には正規表
このドメインを購入する。 gkbr.me 2018 Copyright. All Rights Reserved. The Sponsored Listings displayed above are served automatically by a third party. Neither the service provider nor the domain owner maintain any relationship with the advertisers. In case of trademark issues please contact the domain owner directly (contact information can be found in whois). Privacy Policy
GREPREP TIPS 正規表現(g/regular expression/p)GREP置換をブラウザで簡単に利用できる。作業効率化ツール ■置換対象: 置換したいテキストを貼り付けます。▲ ▼ ■一時記録: ブラウザに一時的に記憶したり、記録したデータを利用して処理を行います。ブラウザを閉じたり、更新すると削除されるので注意。
Twitterにリンクをつける 前回は.getJSON()メソッドを使い、Twitter上での発言をサイトに表示できるようにしてみました。しかし、時にはTwitterの発言文中にはURLやhashタグや@ユーザー名などが含まれていることがありますが、前回のままではそのままテキストとして表示されるだけになってしまいます。 以前、フォームの内容を紹介した時に正規表現の紹介をしましたが、今回はその正規表現を利用して、Twitterの発言文中に含まれるURL・hashタグ・@ユーザー名をリンクをつけるサンプルをご紹介します。 URLにリンクをつける まずは文中に含まれるURLにリンクをつけてみましょう。文中からURL部分だけを見つけるために、正規表現を利用します。 URL用の正規表現 /(http:\/\/[\x21-\x7e]+)/gi 「[\x21-\x7e]」の部分は16進数で表現したASC
Perlでの正規表現のサンプルと文法一覧です。 他の言語をある程度知っている人はこれを読めば正規表現の基礎をマスターして正規表現を書くことができるようになっています。 簡易リファレンスとしても少し利用できると思います。 他言語からの人は、正規表現を使う機会がなかったかもしれませんが・・・。 Perlでは、正規表現を使うための言語と言っても過言ではありません。 正規表現を使うことによりテキスト(文字列)編集処理が飛躍的に楽になるのです。 では、まずはじめにテストデータ、family.txt を用意します。 このテストデータを元にしてサンプルプログラムを踏まえて解説をしていきますね。 ・family.txtファイルの内容 macha koike yachu koike chaichan koike hiro koike mama koike papa koike koike 6 ni-bo-
これで、src属性の中から「.jpg」だけを検索できます。今回はわかりやすいようにsrc属性全体(src="")を対象にできるようにしたのですが、下記のようにしても同様に検索することが可能です。 src属性の「○○.jpg」となっているタグだけ検索 その2 src.+\.jpg イコール(=)とダブルクォーテーション("")を含めていないだけですが、これでも検索が可能です。 また、今回は任意の1文字を対象に「.+」を利用したのですが、今回の例であれば「.*」でも同様の結果を得ることができます。 覚えておくと便利な正規表現検索 先ほどの例の他にも、覚えておくと便利な正規表現の検索はいくつもあります。しかし、たくさん覚えておくというのも難しいので、ものすごく簡単な例だけをいくつかあげておきます。 改行を含む検索 Dreamweaverであれば、正規表現を使わずとも、任意の改行を含む文字列を検索
『to_cake_camel_case』を『ToCakeCamelCase』のように 変換する関数を作ってみました。 function toCakeCamelCase(str){ return str.replace( //文字列の先頭と、『_』とその直後の文字を取り出す /^.|_./g, function(match){ return match //ここで『_』を取り除く .replace(/_(.)/, '$1') .toUpperCase(); } ); } var hoge = 'to_cake_camel_case'; alert(toCakeCamelCase(hoge)); //『ToCakeCamelCase』と表示される CakePHPでフォーム部品をセットする場合、そのid属性名が、 モデル名とフィールド名をもとにして上記のように変換されるので、 jQueryで動的
CSSにデータを埋め込む方法を考えてみた(CSS2KB) - latest log の続き CSS2KB とは CSS にちょっとした情報を埋め込むトリックの1つ。 list-style: url(1dot.gif?key=val) から key=val を取り出せるというもの。 CSS2KB の難点は、ダミーファイル(1dot.gif) が実際に必要だった点 ダミーファイルのロード ⇒ 通信が余計に発生するよね ダミーファイルが 404 だと? ⇒ key=val が取り出せない ⇒ それってまずいよね ダミーファイルが邪魔なので、もうちょっと考えてみた 試しに、URL を list-style: url(?key=val) だけにしてみたら ダミーファイル(1dot.gif)が不要に CSS のファイルパスが補完された形で取得できる ⇒ 補完された CSS のURLがついでに取れてくる
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く