Work Life Fun

社労士のための正規表現入門|VSCodeで就業規則の条ずれ・表記揺れを一括チェック

※当サイトはリンクに広告ページが含まれている場合があります

就業規則に条文を1つ追加したら、それ以降の条番号がすべてずれた。本文の中で「第15条の定めにより」と参照している箇所も、すべて直さなければならない。

あるいは、1つの就業規則の中に「申出」と「申し出」が混在していて、表記を揃えたい。

こうした確認や修正を、1か所ずつ目視で確認していませんか?

「正規表現」を使えば、こうした作業を検索・置換で一括して行えます。

正規表現とは、「数字の部分」「行の先頭」のように、文字のパターンを記号で表す書き方です。英語では “regular expression” と言います。

この記事では、文書作成ソフト「VSCode」の検索・置換で正規表現を使う方法と、社労士の実務でよく使う正規表現を紹介します。コマンドは使わず、画面操作だけで使えます。

関連:社労士のためのVSCode入門|就業規則をWordではなくMarkdownで書く理由

VSCodeで正規表現を使う方法

1つのファイルの中で検索・置換する

  1. VSCodeで、検索したいファイルを開く
  2. 検索・置換の欄を開く(Windowsは【Ctrl】+【H】、Macは【command】+【F】)
  3. 検索欄の右にある「.*」のボタンをクリックして、正規表現をオンにする

「.*」のボタンがオンになっていないと、正規表現の記号がただの文字として検索されてしまうので注意してください。

フォルダ内のすべてのファイルを検索・置換する

複数のファイルや、従業員の人数分のファイルをまとめて扱う場合は、フォルダ全体を対象にします。

  1. VSCodeで、対象のフォルダを開く
  2. フォルダ全体の検索・置換の欄を開く(Windowsは【Ctrl】+【Shift】+【H】、Macは【command】+【shift】+【H】)
  3. 同じく「.*」のボタンをオンにする

検索すると、どのファイルの何行目に当てはまる箇所があるかが一覧で表示されます。

なお、フォルダ全体で「すべて置換」をすると、すべてのファイルが一度に書き換わります。実行する前に、必ずフォルダごとコピーを取っておいてください。

よく使う正規表現

行の先頭:「^」

「^」は、各行の先頭を表します。

よく使うのは、文章を箇条書きにするときです。「^」を検索し、「* 」に置換すると、各行の先頭に「* 」が付き、Markdownの箇条書きになります(「- 」でも同じです)。

行の末尾:「$」

「$」は、各行の末尾を表します。

行の先頭の「^」とあわせて使うと、各行の前後に同じ文字を付け加えるときに重宝します。例えば、文章にHTMLのタグを加えるときなどです。

改行:「\n」

「\n」は、改行を表します。

  • 途中で改行されてしまった文章から、改行を取り除くとき
  • 「。」で終わる文の後ろに、改行を加えるとき

などに使います。なお、タブは「\t」で表します。

数字:「\d」と「+」

「\d」は、半角数字(0〜9)の1文字を表します。後ろに「+」を付けると、「数字が1文字以上続く」という意味になります。

そのため、以下のように検索すると、第1条、第15条、第120条のように、何桁の数字でもまとめて検索できます。

第\d+条

かっこの中身だけ

全角かっこ・半角かっこのどちらにも当てはまり、かっこの中身だけを検索する正規表現です。

(?<=[((]).*?(?=[))])

意味不明な記号の羅列にしか見えないかもしれませんが、覚える必要はありません。

正規表現を使えば、このようなかっこ書きの部分を一気に削除できる、と知っておくことが重要なのです。

参考:正規表現:括弧の中身だけをマッチする表現

社労士の実務における正規表現の使い方

1. 条ずれを確認する

就業規則に条文を追加・削除したときは、本文中で他の条を参照している箇所も直す必要があります。

フォルダ全体で「第\d+条」を検索すれば、すべての規程の中で条番号が書かれている箇所が一覧で表示されます。1つずつ確認していけば、参照の直し漏れを防げます。

注意したいのは、「\d」は半角数字にしか当てはまらないことです。就業規則で全角数字や漢数字を使っている場合は、以下のように書きます。

就業規則の書き方検索する正規表現
第15条(半角数字)第\d+条
第15条(全角数字)第[0-9]+条
第十五条(漢数字)第[一二三四五六七八九十百]+条

角かっこ「[ ]」は、「角かっこの中のいずれか1文字」という意味です。

2. 表記揺れを揃える

1つの就業規則の中で「申出」と「申し出」が混在していると、それだけで文書の印象が悪くなります。

ただし、「申し出」を「申出」にすべて置換すると、「申し出る」「申し出た」という動詞まで「申出る」「申出た」になってしまいます。法令・公用文では、名詞は「申出」、動詞は「申し出る」と書き分けるのが一般的です。

そこで、以下のように検索します。

申し出(?=[をがにはのと])

「(?=[をがにはのと])」は、「後ろに『を』『が』『に』などが続く場合だけ」という意味です。これで、「申し出を」「申し出があった」のような名詞の部分だけが検索され、「申し出る」は対象外になります。

置換するときは、「すべて置換」ではなく、1件ずつ内容を確認しながら置換するのが安全です。

関連:SKKで誤変換を減らす|社労士が6年手放せない日本語入力

3. ファイル名の一覧から拡張子を消す

「フォルダ内のファイル名を一括コピーする方法」で作ったファイル名の一覧には、「.docx」「.pdf」などの拡張子が含まれます。資料の目次や表紙に使うときは、以下で検索し、置換欄を空欄のまま置換すれば、拡張子をまとめて削除できます。

\.[^.]+$

これは「最後の『.』から行の末尾まで」という意味です。

同じように、ファイル名の頭に付けた「01_」などの番号を消したい場合は、^\d+_ で検索して空欄に置換します。

01_育児休業申出書.docx  →  育児休業申出書

まとめ

正規表現を使えば、就業規則などの長文ファイルの確認や修正を検索・置換で一括して行うことができます。

  • VSCodeでは、検索欄の「.*」をオンにするだけで使える
  • 「第\d+条」で、すべての条番号をまとめて検索できる
  • 「申し出(?=[をがにはのと])」のように書けば、名詞だけを置換できる
  • フォルダ全体を置換する前には、必ずコピーを取る

記号は覚えなくても大丈夫です。この記事をブックマークしておき、必要なときにコピーして使ってください。ChatGPTやClaudeなどの生成AIに「〇〇を検索する正規表現を教えて」と頼むのも1つの方法です。

検索・置換に慣れてきたら、以下の記事のように、コマンドで書類を一括修正する方法にも挑戦してみてください。

関連:100人分の書類を一括修正|社労士のためのsed入門(行の挿入・削除)

なお、正規表現が意図したとおりに動くかを確かめるツールとしては「RegexPlanet」が便利です。

また正規表現についてもっと詳しく知りたい方は、「とほほの正規表現入門」がわかりやすくおすすめです。

メールマガジン「社労士のための『ほどほど』お悩み相談室」では、ITが専門ではない一人社労士でも取り入れられる業務効率化の工夫など、一人社労士事務所の実践を月1回お届けしています。以下のフォームから無料で登録できます。

社労士のための
「ほどほど」お悩み相談室

あなたのご質問・ご相談に、月1回、無料・本音で回答します。

ご質問・ご相談は、登録後に届くメールから送っていただけます。費用は一切かかりません。「お悩み相談室」というクローズドな場だからこそ、踏み込んだ内容の質問にも回答できます。

これまでに、こんなご質問・ご相談に回答してきました。

  • コンサル(3号業務)を主力業務にするには、どうすれば良いか?
  • どのようにして顧問料を上げれば良いか?
  • 営業が苦手で、新規の顧客獲得ができない
  • 業務をどう絞り込めば良いか?
  • 一人社労士のままで良いのか、人を雇うべきか?
  • 苦手・相性の悪い顧問先と、どう付き合うか?
  • 生成AIの時代、社労士は今後どう生き残るか?

なぜ、無料で同業の社労士からの相談に乗るのか?

それは「本当に顧客のために活動できる社労士仲間を増やしたい」からです。

私自身、社労士という資格に誇りを持っています。企業からの社労士に対する不満をよく聞きますし、「社労士なんて役に立たない」と思われることは、正直悔しいです。

  • 信頼される・信頼できる社労士の仲間を増やしていきたい

そんな想いから、少しでも社労士業界全体のレベルアップに貢献できればと考えています。

    ※ 登録は無料・月1回配信・配信解除いつでも可能
    ※ 登録後、本人確認のメールをお送りします。届かない場合は迷惑メールフォルダもご確認ください。


    up_line