memo.xight.org

Home > Changelogメモ > 正規表現 > 1ページ目 (全1ページ)
ChangeLog 最新ページ
2008-02 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

2006-01-30 Mon

RegExLib.com - Regular Expression Library

- Summary
正規表現ライブラリ.

http://www.regexlib.com/Search.aspx?k=キーワード
で正規表現を検索可能.

- Reference
Regular Expression Library -- presented by ASPSmith.com Training
http://www.regexlib.com/
- via
にぽたん研究所 - 2005-03-29 - 本邦初公開!電話番号の正規表現
http://blog.livedoor.jp/nipotan/archives/17526053.html

カテゴリ: [正規表現]

2004-11-30 Tue

正規表現のエスケープ

- Summary
  vi 上で正規表現を扱う場合に,エスケープしなければならない文字,エスケープしてはならない文字.

| + 要エスケープ
^ $ . * エスケープ不要
( ) 両方エスケープが必要
{ } 初めだけエスケープが必要
[ ] エスケープ不要
- 追記
  C/Migemo を使用する際,呼び出したせ域表現をそのまま使用できないので,調べていたら発見.
  C/Migemo では --vim オプションを使用すればOKらしい.

$ /usr/local/bin/cmigemo --vim --dict /usr/local/share/migemo/euc-jp/migemo-dict --word キーワード

- Reference
  Stray Penguin - Linux Memo (vi)
  http://www.asahi-net.or.jp/~aa4t-nngk/vi.html#search

カテゴリ: [vi][正規表現]

2004-10-25 Mon

安否を気遣う正規表現

- 中越地震の安否を気遣うメッセージより

((ご?無事|大丈夫)ですか(。|、|)|心配((してい?ます|です)(。|、|)|なので(、|))|(落ち着い|電話が通じ)たら)?((至急)?(お?電話|メール)を?下さい|連絡を?(下さい|待(ち|ってい)ます))。


  これにマッチしないようなメッセージのほうが勇気付けられると思う.

- 「安否を気遣うメッセージ」ランキング (対象 1000件)

70件 心配しています。連絡ください。
30件 連絡ください
19件 心配しています。連絡下さい。
18件 連絡ください。
17件 落ち着いたら連絡ください
17件 心配しています連絡ください
12件 心配してます。連絡ください。
11件 落ち着いたら連絡ください。
11件 心配です。連絡ください。
9件 大丈夫ですか。連絡ください。

- 「こんなメッセージは勇気付けられるだろうな」と思ったメッセージ

おば様大丈夫ですか。心配しています。


- Reference
  NHK - 10/23新潟県中越地震 NHK安否情報検索
  http://www3.nhk.or.jp/anpi/pc/

カテゴリ: [正規表現]

2004-10-10 Sun

Java,PHP,.NETで始める正規表現

- Reference
  MODULE.JP - 著作・雑誌記事など
  http://module.jp/works.html

カテゴリ: [正規表現]

2004-09-26 Sun

正規表現ネタ

- 三銃士 (アトス,ポルトス,アラミス)
  ((ア(ト|ラミ))|ポルト)ス
  ((ア|ポル)ト|アラミ)ス

- Windowsのバージョン
  Windows (95|98( Second Edition)?|Me|NT (Workstation|Server)|2000 (Professional|Server)|XP (Professional|(Home|Media Center|Tablet PC|64-bit) Edition))

- 納得したとき
  (ふむ){2}

- 痛いとき
  い(た|て)+

- via
  はてなダイアリー - 髪は老害にして…。 - 2004-03-28
  http://d.hatena.ne.jp/ryouen/20040328#p3

カテゴリ: [ネタ][正規表現]

2004-07-26 Mon

Unicode の Property を利用した正規表現

- \p{Han}
  漢字にマッチ
- \p{Hiragana}
  ひらがなにマッチ
- \p{Katakana}
  カタカナにマッチ
- Reference
  perl5.8のUnicodeサポート
  http://www.lr.pi.titech.ac.jp/~abekawa/perl/perl_unicode.html
  module.jp - 日本語に絡むUnicodeブロックとスクリプト (正規表現)
  http://module.jp/blog/regex_unicode_prop.html
  Script と実際のコードポイントとの対応表
  http://www.unicode.org/Public/UNIDATA/Scripts.txt

カテゴリ: [Perl][正規表現]

2004-04-24 Sat

正規表現デスクトップリファレンス

- Summary
  O'Reilly から出版されている「 本: 詳説 正規表現 」を元に書かれている.
Amazon - 本: 正規表現デスクトップリファレンスAmazon - 本: 詳説 正規表現
- Reference
本: 正規表現デスクトップリファレンス
本: 詳説 正規表現
  O'Reilly Japan - Catalog - 正規表現デスクトップリファレンス
  http://www.oreilly.co.jp/BOOK/regexpr/

カテゴリ: [][正規表現]
内部リンク: [2004-12-31-4]

2004-03-15 Mon

正規表現 (Stringクラス)

- 前提
  置換対象文字列 : str

- マッチング

boolean flag = str.matches("正規表現");


- 置換
String result = str.replaceFirst("正規表現","置換文字列");
String result = str.replaceAll("正規表現","置換文字列");


- 分割
String[] strs = str.split("正規表現");

カテゴリ: [Java][正規表現]

2004-03-15 Mon

正規表現 (Pattern, Matcherクラス)

- マッチング

boolean flag = Pattern.matches("正規表現","文字列");


- 置換
Pattern p = Pattern.compile("正規表現");
Matcher m = p.matcher("置換対象文字列");
String result = m.replaceFirst("置換文字列");
String result = m.replaceAll("置換文字列");


- 分割
Pattern p = Pattern.compile("正規表現");
String[] strs = p.split("置換対象文字列");


- 注意
import java.util.regex.*;

  を忘れずに
- Reference
  JavaAPI Documents - Pattern (Java 2 プラットフォーム SE v1.4.0)
  http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/regex/Pattern.html
  JavaでHello World 正規表現編
  http://www.hellohiro.com/regex.htm

カテゴリ: [Java][正規表現]

2003-08-23 Sat

Riue ちゃんの正規表現講座

- Reference
  Regular Expression(Riue ちゃんの正規表現講座)
  http://www.sixnine.net/regexp/

カテゴリ: [正規表現]

2003-01-22 Wed

Perlメモ

- Summary
  やりたい事から逆引きできる.正規表現雑技が物凄い.

- http URIの正規表現

q{\b(?:https?|shttp)://(?:(?:[-_.!~*'()a-zA-Z0-9;:&=+$,]|%[0-9A-Fa-f} .
q{][0-9A-Fa-f])*@)?(?:(?:[a-zA-Z0-9](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.)} .
q{*[a-zA-Z](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.?|[0-9]+\.[0-9]+\.[0-9]+\.} .
q{[0-9]+)(?::[0-9]*)?(?:/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f]} .
q{[0-9A-Fa-f])*(?:;(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-} .
q{Fa-f])*)*(?:/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f} .
q{])*(?:;(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)*)} .
q{*)?(?:\?(?:[-_.!~*'()a-zA-Z0-9;/?:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])} .
q{*)?(?:#(?:[-_.!~*'()a-zA-Z0-9;/?:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*} .
q{)?};

- 正確でないが簡単なhttp URIの正規表現
s?https?://[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+


- CSV形式の $line から値を取り出して @values に入れる
  (値1,値2,"値3,値3","値4""値4" → 値1 値2 値3,値3 値4"値4)
{
	my $tmp = $line;
	$tmp =~ s/(?:\x0D\x0A|[\x0D\x0A])?$/,/;
	@values = map {/^"(.*)"$/ ? scalar($_ = $1, s/""/"/g, $_) : $_}
	($tmp =~ /("[^"]*(?:""[^"]*)*"|[^,]*),/g);
}


- 配列 @array から重複した要素を取り除く
{
	my %count;
	@array = grep(!$count{$_}++, @array);
}


- 特定の項目でソートする (第 1項でソートし,さらに第 2項で降順ソートする)
@data = ('A,7,緑',
	 'C,6,青',
	 'B,4,赤',
	 'A,9,紫',
	 'A,2,黄緑',
	 'B,10,黄',
	 'C,3,青紫');
@data = map {$_->[0]}
sort {$a->[1] cmp $b->[1] or $b->[2] <=> $a->[2]}
map {[$_, split /,/]} @data;


  - ソート後のデータ
@data = ('A,9,紫',
	 'A,7,緑',
	 'A,2,黄緑',
	 'B,10,黄',
	 'B,4,赤',
	 'C,6,青',
	 'C,3,青紫');


- Reference
  大崎 博基 - Perlメモ
  http://www.din.or.jp/~ohzaki/perl.htm

カテゴリ: [Perl][正規表現]

2003-01-11 Sat

正規表現で変数を用いる際の注意点

- 問題点
  $hoge = 'hoge' という変数があった場合
  huga を ahogea と置換するために
  s/huga/a$hogea/;
  とやっても,$hogeaという変数と解釈してしまう.
  s/huga/a($hoge)a/;
  とやっても,a(hoge)aとなってしまう.
- 解決法
  s/huga/a${hoge}a/;
  ${変数名} は Perl だけでなく,Shellスクリプトなどでも応用が利くらしい.

カテゴリ: [Perl][正規表現]
2008-02 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
最終更新時間: 2008-02-20 21:23

Color Reference

ChangeLogを検索
携帯電話からアクセス!

カテゴリ

最近の話題

リンク

過去ログ

Google

QR Code

Since
2002-11-28
Update
2008-02-20 21:23
Copyright © 2005 xight.org All Rights Reserved.