ナビゲータのEVEです。
昨日は、以下のX(旧ツイッター)のコメントに反応し、「システムエンジニアが目指す中小企業診断士」を更新しました。
「出題範囲の知識がムダだとは言わないが、名刺に中小企業診断士って書いてある奴は地雷」
以上の発言を受けて書いた、昨日のブログの記述に、不明瞭なところがあるので、一言でまとめます。
現在の経営は中小企業診断士で教えるそれとかなり乖離があり、突っ込みどころ満載の状態です。そのような経営状況で、日本は失われた30年という闇の中にいます。しかし、去年から脱却できそうな所まで回復してきました。そんな現状、中小企業診断士という資格を持つ人の活躍の場は広がりつつあります。
だから、一方的な以上のいいようは、言いすぎなのではないかなって感じています。まっ、多分ですが、以上の発言をしている人は、真剣に、中小企業診断士の勉強をしたことがないのだと思います。
ただ、昨日のブログの中で、「うまくいかなかった場合のリスクは、成功した場合の成果をかなり上回る」という印象は現在も変わっていません。慎重な発言、対応を求められていることに注意しなければなりません。
[正規化]
では、本日までの開発状況について御報告します。
本日、先週末終える予定だった、文字クラスの製造が昨日終わり、ちょっと、遅れ気味な状況です。そして、本日は、数値クラスの製造に入っており、完成は明日を予定しています。
ただ作るだけなら本日完成できるのですが、1つ知識として定着させたい情報がありました。それは、正規表現です。
正規表現とはどのようなモノなのか、ChatGPTに聞いてみましょう!
PHPで使用する正規表現(regular expression)は、文字列のパターンを記述し、そのパターンに一致する文字列を検索、置換、抽出するためのパターン記述言語です。正規表現は、様々なプログラミング言語やツールで広く使用されており、特定の文字列パターンに対する柔軟な検索・置換処理を行う際に非常に便利です。
捕捉すると、いろいろな入力データを、一定の規則に基づき、統一的な表現で出力するものです。
Prototype EVEでも、重複するスペースを削除するなどのケースで、正規表現を使用していました。それは、インターネットで公開されている情報をそのままコピペしただけです。正直言ってどうして、そのような記述になっているのか理解しないまま利用していました。
ただ、技術者としてそれでいいのかという疑問があり、きちんと知識として習得するために時間を取ることにしました。
[利用する場面]
先ほど、重複するスペースを削除するという場面で利用しているという話をしましたが、現在問題となっているのは、カンマ区切りの数字です。
ただ、やり方だけを知りたいなら、ChatGPTに聞けばできるのですが、それでは、知識とは言えません。そこで、正規表現について解説しているサイトで情報をゲットし、Knowlegeシステムへ編集し登録しました。
ただ、それを見ただけではまだよく分かりません。そこで、カンマ区切りにする、正規表現をChatGPTに教えてもらった結果と、以上の情報を利用し分析したいと思います。
[正規表現のメタ文字]
それでは、正規表現ではどんなメタ文字が利用できるのか調べて見ましょう。以下に記した情報は、エンジニアの入り口から写させていただいた情報です。
\ 多目的に使う一般的なエスケープ文字
^ 検索対象(複数行モードでは行)の始まりを言明
$ 検索対象の終わりあるいは終端の改行文字の前(複数行モードでは行の終わり)を言明
. 改行を除くすべての文字にマッチ(デフォルト時)
[ 文字クラス定義の開始
] 文字クラス定義の終了
| 選択肢の開始
( サブパターンの開始
) サブパターンの終了
? ( の意味を拡張/0 または 1 回マッチ/なるべく少ない回数だけマッチ
* 0 回以上の繰り返し
+ 1 回以上の繰り返し
{ 最小/最大を指定する量指定子の開始
} 最小/最大を指定する量指定子の終了
出典元 【5分でまるっと理解】PHP正規表現の使い方まとめ(エンジニアの入り口)
[あとがき]
以上のメタ文字を駆使して正規表現を作ります。見た目チョット複雑です。ただ、今までの経験上じっくり読めば理解することは可能だと思っています。
明日、どんなことをしているのか、一緒に見て、分析していきましょう!
では、また!
■【5分でまるっと理解】PHP正規表現の使い方まとめ(エンジニアの入り口)
https://eng-entrance.com/php-regularex
【このカテゴリーの最新記事】