この記事は何の記事?
正規表現をすぐ使えるように例を載せている記事です
また,以下のツール・言語での使用例を載せています
- VSCode
- grep コマンド
- Python3
- JavaScript
誰のための記事?
- とりあえずすぐに正規表現を使いたい方
- 難しい事は一旦抜きにしてすぐ使いたい方
- 文字少なめで,図が多めの説明が好きな方
- 正規表現の最初の一歩として軽くみたい方
正規表現が使えると何が嬉しいの
- 複雑な検索ができる
- より高度な一括置換ができ,作業効率が上がる
- 入力の検証がしやすくなる
軽めの前置き
これから色々とご紹介していきます
実際の VSCode などでの使い方については,
ページの最後の方で紹介しています
ゆくゆくはもっと覚えていけるとハッピーです
ということで早速見ていきましょう
a または b を検索
ヒント1: [ ] と ( ) と |
a または b 以外を検索
「ab」 を検索
「ab」 を含む行を検索
ヒント2: 「.」と「*」
「ab」 を含まない行を検索
VSCode 実行例
grep コマンド実行例
grep コマンドで使用する場合,-P
をつける必要があります
また,語尾の .+$
が不要です
re_e.txt
123abc
123xyz
abc123
xyz123
user@user:/path/$ grep -P '^(?!.*ab)' re_e.txt
123xyz
xyz123
Python3 実行例
import re
pattern = re.compile("^(?!.*ab).+$")
pattern.search("aaaa") # <re.Match object; span=(0, 4), match='aaaa'>
pattern.search("bbbb") # <re.Match object; span=(0, 4), match='bbbb'>
pattern.search("0ab1") # None
JavaScript 実行例
const reNotaorbLine = new RegExp("^(?!.*ab).+$")
console.log(reNotaorbLine.test("aaaa")) // true
console.log(reNotaorbLine.test("bbbb")) // true
console.log(reNotaorbLine.test("0ab1")) // false
先頭が ab で始まっている ab を検索
ヒント3: ^ について
先頭が ab で始まっている行を検索
末尾が ab で終わっている ab を検索
末尾が ab で終わっている行を検索
電話番号
ヒント4: 数字と繰り返し
正規表現の使い方
既に上でチラッと出てますが,改めて使い方を見てみましょう
VSCode
-
Ctrl + f
を押すと右上に検索欄が表示されます - 「.*」ボタンを押すと正規表現が使えるようになりますね
- 後は入力欄に正規表現を添えて差し上げるだけです
grep
grep '{正規表現}' re_e.txt
user@user:/path/$ grep '^ab' re_e.txt
abc123
Python3
# インポートは忘れずに
import re
# 正規表現, 検査する文字列
re.match("[ab]", "a")
# 何回も使うなら正規表現オブジェクト(pattern)を用意すると便利
pattern = re.compile("(a|b)")
pattern.search("a")
JavaScript
// 「/」で囲うパターン
const regex1 = /^(?!.*ab).+$/
console.log(regex1.test("aaaa"))
// RegExp
const regex2 = new RegExp("^(?!.*ab).+$")
console.log(regex2.test("aaaa"))