我是正则表达式的新手,并尝试使用正则表达式匹配以下模式:
- 一组数字,每个看起来都像 12 这样的单个数字,或者像 19-39 这样的数字范围
- 组由分号 (;) 分隔
- 所有数字都在 1-48 范围内(但我们不需要在正则表达式中验证这一点)
所以一个示例匹配是 12;13;19-39;43
对于单个组,我可以考虑使用
\b[1-9]{1}|[1-9]{1}[0-9]{1}\b
对于单个号码,和
\b[1-9]{1}|[1-9]{1}[0-9]{1}-[1-9]{1}|[1-9]{1}[0-9]{1}\b
对于数字范围。
问题是如何同时考虑分号(;):由 ; 连接的上述任意数量的数字组。可以匹配。