ChatGPT(GPT4.0)との会話日記(3)正規表現を書いてそれを解読してもらう

日本語でCahtGPTに正規表現を書いてもらう

chatgptが正規表現をよく理解してるようなので、いろんなお願いをしてみました。

プロンプト(3回)

1)日本語テキストの文頭の全角又は半角のスペースを消去するスクリプトを書いてください
2)その正規表現、この正規表現と統合できる? /^<[^>]*>/
3)その正規表現に、文頭と文末に改行コードを削除する機能を追加できる?

出力(3回目)

もちろんできます。以下のJavaScriptコードは、日本語テキストの文頭の全角および半角スペース、入力テキストの先頭にあるHTMLタグ、そして文頭と文末の改行コードを削除します。

javascriptCopy codefunction removeLeadingTrailingSpacesTagsAndNewlines(text) {
  return text.replace(/(^[  \n]+|(?<=^)<[^>]*>|[\n]+$)/, '');
}

const inputText = '\n  <p>こんにちは、世界!</p>\n';
const outputText = removeLeadingTrailingSpacesTagsAndNewlines(inputText);

console.log(outputText);

このコードでは、removeLeadingTrailingSpacesTagsAndNewlinesという関数を定義し、正規表現を使ってテキストの文頭の全角および半角スペース、先頭にあるHTMLタグ、および文頭と文末の改行コードを削除します。inputText変数に格納された日本語テキストを関数に渡し、結果をoutputText変数に格納しています。最後にoutputTextをコンソールに出力します。

結果

3回とも、「もちろんできます。」と自信たっぷりに修正して見せてくれました。
プログラミングに関しての質問の場合、妙に口調が自信たっぷりな所が可愛いですネ。
お願いする度に地味にサンプテキストが正規表現に合わせて変化していくのも芸コマです。
てかよく見たら関数名クッソ長いな!?

ところで…、正規表現さっぱりわからんので、何がどうなってるかわかりませんね…。

せや!

ChatGPTに正規表現の解読をお願いしてみる

わからないなら聞けばいい。
新しいチャットで解読をお願いしてみます。

プロンプト

この正規表現ってどんな意味?
/(^[  \n]+|(?<=^)<[^>]*>|[\n]+$)/

出力

この正規表現は、文字列の先頭や末尾にある空白文字やタブ文字、改行文字をマッチさせるものです。また、タグのような形式の文字列(例:<tag>)もマッチさせますが、そのタグは文字列の先頭にある場合に限ります。正規表現の各部分を詳しく見てみましょう。

  1. (^[\s \n]+):文字列の先頭にある空白文字(半角スペースやタブ)、全角スペース、または改行文字にマッチします。

  2. (?<=^)<[^>]*>:文字列の先頭にあるタグのような形式の文字列にマッチします。(?<=^) は、直前に ^(文字列の先頭)があることを条件とする「後方に肯定的な見えないアサーション」です。

  3. [\n]+$:文字列の末尾にある改行文字にマッチします。

正規表現全体を | でつないでいますので、これらのいずれかに該当する部分にマッチします

結果

それってもしかして…さっきプロンプトで指示した内容じゃないですかぁ!!
賢すぎ、涙出た。

日本語で指示したら正規表現が出てくる、正規表現解読だけとってもつよつよすぎますね。

この記事が気に入ったらサポートをしてみませんか?