所以我有这样的事情:正则表达式 - 匹配号码范围,周围有没有号码
\ 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)
这应该是一个积极的向后看的开始,以确保有是什么,但数量和积极的前瞻后前位数字以确保它跟随它一样。
这样做的正确方法是什么?
什么正则表达式引擎?所有的口味都不支持向后看,甚至向前看。 – Lucero
我在.NET中这样做,但使用免费软件Expresso进行测试。 – lintmouse