正規表現

文字処理にとっても便利な仕組み。ただ処理系によって多少方言があるので注意です。

基本パターン

文字
[abc][]内のいずれかの文字との一致(この場合はaかbかcとなる)
[0-9]0〜9までの文字との一致
[^0-9]^は否定。したがって0〜9ではない文字との一致
.任意の一文字
回数
a?aが0回もしくは1回
a+aが1回以上
a*aが0回以上
a{m}aがm回
a{m,}aがm回以上
a{,n}aがn回以下
a{m,n}aがm〜n回
位置
^文字列や行の最初
$文字列や行の末尾

文字の種類を判定

Javaの場合

\p{InKatakana}カタカナ
\p{InHiragana}ひらがな
\p{InCJKUnifiedIdeographs}漢字
\p{InHalfwidthAndFullwidthForms}半角カタカナ

※半角カタカナの指定では、全角英文字なども範囲に含まれてしまう問題点あり。詳細は下記URLのHalfwidthAndFullwidthFormsコード範囲を参照されたし。

http://www.fileformat.info/info/unicode/block/halfwidth_and_fullwidth_forms/list.htm

行番号

Web上でのプログラム解説サイトでサンプルソースを掲載しているケースが良くある。 説明しやすくするため行番号が振ってあったりするのだが、 コピーして利用しようとすると行番号を削除する必要がある。

 1 <%
 2    Dim UserID, Passwd, MSG
 3    UserID = Request.Form("userid")

10
11 Function UserCheck(UID, PWD)

このようなリストの場合は、例えば下記のような正規表現にマッチングした部分を空文字に置換することで行番号を削除できる。

^.\d {0,1}

行の先頭+任意の1文字+数字1文字+スペースが0〜1個、という意味。行番号の桁数が2桁で無い場合は手を加える必要がある。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-06-07 (日) 18:10:52 (3605d)