正規表現との不一致を引き起こす文字列 (そのインデックス) から最初の文字を出力することは可能ですか? 正規表現マッチング操作を使用するだけで可能ですか、それとももっと複雑なものを採用する必要がありますか?
たとえば、JavaScript では、/^\d{3}\s\d{2}$/
3 桁の文字列とそれに続く空白と別の 2 桁の文字列に一致する正規表現があるとします。"123a45"
この正規表現を適用する文字列があります。正規表現が一致しないため、これを実行すると (例: "123a45".match(/^\d{3}\s\d{2}$/)
) が返されます。この不一致を引き起こす最初の文字 (この場合、インデックス 3 の文字)null
を取得するにはどうすればよいですか?"a"
この使用例の 1 つは、検証に使用される正規表現に従って、ユーザーが入力した文字列を無効にする文字をユーザーに直接ポイントすることです。