検索したい
検索したいもの | 正規表現 |
---|---|
全角文字 | [^\x01-\x7E] |
全角文字または大文字英字が連続 | ([^\x01-\x7E]|[A-Z])+ |
丸数字 | [①-⑨] |
日付(yyyy-MM-dd形式) | ふんわり:\d{4}-\d{2}-\d{2} [0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]) |
[^\x01-\x7E]とは、「全角を探すのは果てしないので、1バイト文字ではないものを探す」という書き方
絶対分かる正規表現~全角(日本語)を検索する~
- 正規表現サンプル(全角文字を検索する)
- 正規表現 基本: ななし。
- 特定の文字列を含まない正規表現をgrepやfindで使用する - grep Tips
- メールアドレスのフォーマットチェックのリンク集 - Qiita
文字数を指定したい
やりたいこと | 正規表現 | 意味 |
---|---|---|
決まった文字数 | [0-9]{3} | 0-9が3文字 |
文字数の範囲 | [0-9]{3,5} | 0-9が3-5文字 |
〇文字以上 | [0-9]{3,} | 3文字以上 |
〇文字以下 | [0-9]{,5} | 5文字以下 |
置換したい
否定
# 行頭が「;」ではない行を検索する(configファイルのコメント以外)
$ grep -r ^[^\;]
# 「_role」(文字列)を含まない行を検索する
$ grep -r ^(?!.*_role).+$
# 「112」で「112」の直後が数字以外の文字をバイナリファイルを除いた中から検索したい
$ grep -rlI 112[^0-9]
文字コード
Unicodeでは
002c : ,
PHP
PHP
/w : [a-zA-Z0-9_]
/d : [0-9]
xパターン修飾子 : フリーフォーマットモードを有効にする。ASCIIの空白文字しか認識せずUnicodeに含まれる他の空白文字は認識しない
(?:~) : パターンのグループ
- Webツール
JavaScript
- Webツール
Java
エスケープした半角記号を取得する
private String getEscapedKigo(String hankakuKigo) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hankakuKigo.length(); i++) {
String c = String.valueOf(hankakuKigo.charAt(i));
sb.append(Matcher.quoteReplacement(c));
}
return sb.toString();
}
- 【保存版】正規表現でエスケープが必要な文字一覧表 - Qiita
- パターンの中のエスケープ処理 - 正規表現の基本 - Java正規表現の使い方
- 文字列の置き換えを行う方法 (replaceAllで気をつけること) - [サンプルコード/Java] ぺんたん info
- Webツール