ITメモ
Make SiteMap 正規表現 / Regular Expression




正規表現の検索サンプル




正規表現でよく使われるサンプルコードをまとめています。



検索したい文字列正規表現
0-9とA-Fのいずれかの2文字(2桁の16進数)[0-9A-F]{2}
全角数字[0-9]
全角英大文字列[A-Z]+
ひらがな[ぁ-ん]
カタカナ[ァ-ヴ]
半角カタカナ[ヲ-゚]
漢数字列[一二三四五六七八九十壱弐参拾百千万萬億兆〇]+
  
半角英大文字\u
半角英大文字以外\U
半角英小文字\l  (※"l"は小文字のL)
半角英小文字以外\L
半角英文字[\u\l]  (※"l"は小文字のL)
半角英字以外[^\u\l]  (※"l"は小文字のL)
英単語(半角英文字列)\b[\u\l]+\b  (※"l"は小文字のL)
半角英数字[\u\l\d]  (※"l"は小文字のL)
1桁の奇数[13579]
奇数\d*[13579]\b
3から7までの数字[3-7]
  
行の先頭から最初の区切り文字まで[^区切り文字]*
  
bから始まってkで終わる3桁の文字列b.k
bから始まってkで終わる2桁以上の文字列b.*k
bから始まってkで終わる3桁以上の文字列b.+k
半角数字\d
半角数字以外\D
数字列\d+
4桁の数字\d{4}
4桁以上の数字\d{4,}
4桁までの数字(1~4桁の数字)\d{1,4}
4~10桁の数字(最長一致)\d{4,10}
4~10桁の数字(最短一致)\d{4,10}?
桁区切りのカンマ付数字列\b\d{1,3}(,\d{3})*\b
価格(先頭が「\」の桁区切り付数字列)\\\d{1,3}(,\d{3})*\b
  
x|y x または y と一致。たとえば、'z|food' は "z" または "food" と一致。"(z|f)ood" は "zoo" または "food" に一致します。
[xyz] 文字セットを指定。角かっこで囲まれた文字の中のいずれかに一致します。たとえば、'[abc]' は "plain" の 'a' と一致。
[^xyz] 除外する文字セットを指定。角かっこで囲まれた文字以外の文字に一致します。たとえば、'[^abc]' は "plain" の 'p' と一致。
[a-z] 除外する文字の範囲を指定。指定された範囲にある文字と一致。たとえば、"[a-z]" は小文字の英字 "a" から "z" の範囲にある任意の文字と一致。
[^a-z] 否定の文字の範囲。指定範囲以外の文字と一致。たとえば、"[^a-z]" は小文字の英字 "a" から "z" の範囲外にある任意の文字と一致。
  
改行\n
半角スペース\x20
全角スペース□  (※□は全角スペース)
タブコード\t
半角スペースかタブコードの繰り返し[\x20\t]+
空白文字\s
sampleという文字列 (大文字小文字同一視)(?i)sample
sampleという文字列(samは大小文字同一視、pleは小文字限定)(?i)sam(?-i)ple
amという単語\bam\b
単語の途中にあるam\Bam\B
whで始まる3文字以上の単語\b[Ww]h.+?\b
大阪または東京大阪|東京
大阪府または大阪市大阪(府|市)
  
行頭の○^○
行頭の半角スペースの連続^\x20+
行末の。。$
空白行^\n
行全体^.*$
郵便番号(〒|ZIP:)\d{3}-\d{4}
電話番号0\d{1,4}-\d{1,4}-\d{4}
携帯電話番号(ハイフンなし)0[89]0\d{8}
メールアドレス[\w.\-]+@[\w\-]+\.[\w.\-]+
URL(ホームページアドレス)https?://[\w/:%#\$&\?\(\)~\.=\+\-]+
日付\d{4}[/\.年]\d{1,2}[/\.月]\d{1,2}日?
見出しタグ開始(h1~h3まで)<[hH][1-3].*?>
見出しタグ終了(h1~h3まで)</[hH][1-3]>
  
sample の中の samsam(?=ple)
sample か samba の中の samsam(?=ple|ba)
後ろが「ple」ではない「sam」sam(?!ple)
sample の中の ple(?<=sam)ple
sample か apple の中の ple(?<=sam|ap)ple
前が「sam」か「ap」以外の 「ple」(?<!sam|ap)ple



置換内容正規表現置き換えたい文字
JAPAN、NIPPONを日本に置き換えるJAPAN|NIPPON日本
大文字小文字が混在する、 JAPAN、NIPPONを日本に置き換える(?i)JAPAN|NIPPON日本
タブコードを半角スペース2文字に置き換える\t\x20\x20
「##」を【##】に変更「(.+)」【\1】
行頭に「>」を挿入^>\x20
CSVファイルの2列目と5列目を入れ替える^(.+?,)(.+?,)(.+?,.+?,)(.+?,)$1$4$3$2
電話番号の局番を( )で囲む(0\d{1,4})-(\d{1,4})-(\d{4})$1($2)$3
メールアドレスの@以降を削除([\w\-\.]+)@[\w\-]+\.[\w\-\.]+$1
値段の「\」を取って最後に「円」を置く\\(\d{1,3}(,\d{3})*)\b$1円
   
大文字小文字混在の単語「positive」をすべて大文字にする(?i)positivePOSITIVE
空白行を削除する^\n(何も入力しない)
URLのパスの途中を変更する(http://)test\.local(/support/mifes/tips/.+\.html)\1www.server.co.jp\2
途中にパスを追加する(C:\\root\\)(flower.exe)\1stalk\\leaf\\\2
h3タグをh2タグに変更する(</?)[hH]3\1h2
tdタグにnowrapを追加する(?i)<td\0\x20nowrap
イメージファイル「icon_btn」のalignをすべて"top"に変更する(<img src="icon_btn".+?align=").+?(".*?>)\1top\2
class="style1" を class="textstyle_1" に変更する(?<=class=")style1"textstyle_1"
特定の行の下に1行追加する<li>お弁当</li>\0\n<li>水筒</li>
   
引数の順番を入れ替えて書式を整える(functakoyaki)\s*\(\s*([^,\s]+)\s*,\s*([^,\s]+)\s*,\s*([^,\s]+)\s*\)\1(\x20\4,\x20\2,\x20\3\x20)
「negative」を含む行を削除する^.*(?i)negative.*\n(何も入力しない)
行頭と行末の半角スペースを削除する^\x20+|\x20+$(何も入力しない)