質問: 下記の正規表現を日本語訳するとき、 「直前に数値が存在し(後読み)、直後に1つ以上の”3桁の数値の塊り”(先読み)が行末まで続くという条件を満たす”位置”」 と 「直後に数値が存在し(後読み)、直前に1つ以上の”3桁の数値の塊り”(先読み)が行末まで続くという条件を満たす”位置”」は、どちらが正しいのでしょうか。 ``` /(?<=\d)(?=(?:\d\d\d)+$)/ ``` つまり、どこからみて正規表現を紐解いていくのかについての疑問です。 前者である「直前に数値が存在し、直後に...」は、マッチする位置から見ての「直前」と「直後」ですが、正規表現は、マッチするものを中心として後ろや前が決まるとの認識で合っておりますか。 それとも数字のように左から読んで、前、後ろが決まるのでしょうか。
回答: 「直前に数値が存在し(後読み)、直後に1つ以上の”3桁の数値の塊り”(先読み)が行末まで続くという条件を満たす”位置”」 ですね。 正規表現と言うより、日本語の問題だと思いますが。