だから私はこのようなものを持っています:
\b(0?[1-9]|[1-2][0-9]|3[0-6])\b
これは、一致する数字 1 ~ 36 に対してのみ正常に機能します。しかし、一致しない S36 のようなものを取得する可能性があります。数値の両側にきれいな単語境界があるとは想定できません。
1 から 36 までのいずれかの数字以外の数字と一致するようにしたいと思います。
私はこのようなものがうまくいくと思っていましたが、うまくいきません:
(?<=\D)(0?[1-9]|[1-2][0-9]|3[0-6])(?=\D)
数字の前に数字以外があることを確認するために最初に肯定的な後読みが行われ、数字の後に同じことが当てはまることを確認するために数字の後に肯定的な先読みが行われるはずです。
これを行う正しい方法は何ですか?