質問: 下記の正規表現は、「ああああ555555555あああああああああ」という文字の羅列のなかにある10桁の数字にカンマをいれるものです。 ``` /(?<=\d)(?=(?:\d\d\d)+\b)/ ``` しかし文字の羅列が「ああああ555555555aあああああああああ」だとコンマが入らなくなってしまいます。つまり、正規表現でマッチさせたい位置にマッチしなくなってしまいます。 アルファベットがあるとダメな理由は、なんですか。
回答: `\b`は単語境界にマッチします。単語は英数字の並びです。英数字の並びが途絶えたところにマッチします。 「ああああ555555555aあああああああああ」だと、 「数字が続いた直後の単語境界」が存在しないのでマッチしません。 `\b`でなく`(?:\D|$)`(数字でないもの、または行末、または文字列末尾)で良いのではないでしょうか。