続けてすいません。

もうちょっと制限を緩くしました
for (const match of text.matchAll(/(?:sm|nm|so)[0-9]+/g)) {
sm[数字]の形式だけ見てリンクするようにしました。
弊害としては、asm[]とかもsm[]でリンクされてしまうことですが、まぁ、いいかな・・・と。
sm[]sm[]と連記した場合に、両方拾わせるために、この様にしました。