bash には glob というものがあります。glob ってなによっていう人も ls *.sh とかを展開する bash の機能ですよっていうと分かるかと思います。 この glob の機能って多用されますがあまりマニュアルとか読んだ人もいないと思うので、簡単にまとめてみます。 1. Pattern Matching Glob のパターンマッチングに使用できる文字のパターンっていうのは、通常、次の文字です。 *: 何にでもマッチする ?: 任意の一文字にマッチする [...]: [ と ] の間に記述された任意の文字にマッチする。これはちょっとややこしいので、もうちょっとまとめます。 [...] [...] の ... には通常として文字の集合を指定できますが、多少表現力のあるものも指定できます。 次のように、ハイフン- で指定された範囲のみにマッチさせたりできますし、 $ ls test
なんですかこのイケメンコマンドは ファイル名の変更、ファイルの移動と言えば mvコマンドだ。初歩の初歩だ。 複雑なリネームはパイプやシェルスクリプトで実現するものだという思い込みから、 renameというイケメンコマンドを知らずにいた!なんてもったいない! とても簡単、そしてステキすぎる実行結果 $ ls file01.txt file02.txt file03.txt file04.txt file05.txt $ rename 's/.txt/.csv/' *.txt $ ls file01.csv file02.csv file03.csv file04.csv file05.csv これだけで、すべての .txtファイルの拡張子変更ができてしまった! 見ての通りrenameコマンドは、複数ファイルを一括でリネーム、移動するときに力を発揮する。 コマンドの記法は、以下の通り。 ren

Migemo とは Migemo とはローマ字を入力して漢字を検索するためのライブラリです。詳しく言うとローマ字をひらがなへ変換し、そのひらがなを基に漢字として変換可能な候補を列挙し、それら複数の候補を合成して正規表現パターンを生成する、それが Migemo の主機能です。Migemo が生成した正規表現パターンを用いて検索すれば「ローマ字を入力すれば漢字を含む日本語を検索できる」ようになるのです。 1つ具体的な例を示しましょう。ローマ字「kikai」を考えましょう。これはひらがなで示すと「きかい」です。漢字に変換すると「奇怪」「機械」「機会」…まだまだありますが、ひとまず複数候補があるということはわかります。ここまであげた5個の単語に一度にマッチする正規表現は以下のようになります。
今の今まで、NSStringの潤沢かつ便利なメソッドの数々に甘えてしまったために、正規表現をいまさら勉強しているするぷ( @isloop )です。 こんな俺用メモなんかもつくってみたりしているのですが、やはりなんでもそうですが書かないと覚えないですね。 とはいえ、ちょっと効率のよい覚え方を編み出した気がします。 といってもCotEditorを使うだけなのですが。 CotEditorの素晴らしき検索・置換機能とハイライト機能。 プログラミング中に正規表現を試す場合は、どうしても処理を書かないといけません。さらに、そもそも正規表現が合っていないとキチンと出力されません。 正規表現がまだまだうろ覚えの僕は、なかなかスパーンと成功しないので書くたびイライラしていたのですが、プログラムに正規表現を走らせる前に、CotEditorに読み込ませたら、まるでアラサーの美人教師(赤眼鏡)の様に丁寧に添削して
※この記事は2013年7月10日に執筆された記事です。現在は仕様が異なる可能性があります。 大変です! あなたは、公開間近でクライアントから少々面倒な修正依頼を頂きました。 対応したいのですが、大型案件の為、納品するページ数は膨大にあり、該当する箇所がどれほどあるのか想像がつきません。 さて、この場合どのような対応がベストでしょうか? 今回は、ベストな対応をしたい方の為に便利な正規表現の使い所をご紹介します。 公開間近でクライアントからこんな修正依頼が、、、 クライアントから下記の修正依頼を頂きました。 該当するページ数は未だ不明ですが、調査対象は明日公開予定の膨大な数のHTMLファイルです。 1. ¥を円の表記に統一(¥9,000→9,000円) 2. 「しております」「してます」を「しています」に統一 3. 外部リンクのaタグは別窓指定 4. 素材と販売元の行を入れ替える 5. 最後の
おっと、これは便利かも。 REGEXPERを使えば、JavaScriptの正規表現をわかりやすく表現してくれる。 一見、難解な正規表現だが、これを通しても見ると「なるほど、この文字とこの文字にはされまれていて、この間は何の文字でも良いのだな」といったことがわかるようになる。 他の人のコードを読んでいて「?」となったときに試してみてもいいかもですな。

\x{} \pは後続する名前が表すクラス(プロパティ、スクリプト、ブロック)に属する文字にマッチし、 \Pは後続する名前のクラスに属さない文字にマッチします。 クラスの名前が一文字のときはブレースを省略できます。 クラス名の前に^を置くことにより否定形の指定を行うことも可能です。Perl 5.8 での変更点Perl5.8以降(5.6でも使えたようですが)では \pや\Pで始まるプロパティ指定に標準Unicode属性を使うこともできます。 詳しくはperlunicodeperlunicode -Perl における Unicode サポート を参照してください。 日本語による説明が Unicodestandard にもあります。Perl 5.8以降ではユーザーが任意のプロパティを作成することができます (IsまたはInを必ず前置)。 詳しくはperlunicodeperluni
See related links to what you are looking for.
よくあるツールではあるが、最近正規表現を勉強しなおしたのでご紹介。 Scriptularでは、インタラクティブに正規表現を試すことができるようだ。 エンジンとして使っているのはJavaScriptのようだ。クライアントサイドだけで試せるのでさくさく動いていい感じだ。 また右横にはリファレンス的に説明もあるのでいちいちどこかを検索する必要もない。 そろそろ正規表現を・・・という方は試してみてはいかがすかね。

Shibuya.pm #16 「夏の正規表現祭り」で、正規表現のお話をさせていただきました。 まぁ、「電話番号にマッチする正規表現」とか「郵便番号にマッチする正規表現」とかよく書かれてるけど、「どれもこれも手緩いよね」って話。 あ、だいぶはしょったかな。 とりあえずスライドに書いたので、発表をご覧になってない方はスライドからご覧ください。 ふと見返すと、このブログで電話番号の正規表現を公表するのは 3 度目ですが、あれからだいぶ経ってますね。 今ではもっと厳密な正規表現を作っています。 そして、Number::Phone::JP に続き、Number::ZipCode::JP という酔狂なモジュールが公開された記念で、郵便番号にマッチする正規表現を今回初めて公開しますが、そもそもここまで厳密な正規表現が公開されること自体、本邦初公開ってヤツでしょう。 Shibuya.pm でも言いましたが

1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く