<h2>说明</h2>
<pre class="lang-regex prettyprint-override"><code>([0-9]+)(?:-([0-9]+)|\s*over)
</code></pre>
<p><img src="https://www.debuggex.com/i/GEmbvcQ7TsQJfvkP.png" alt="Regular expression visualization"/></p>
<p><sub>**要更好地查看图像,只需右键单击图像并选择“在新窗口中查看”</sub></p>
<p>此正则表达式将执行以下操作:</p>
<ul>
<li>匹配与速度相关的数字</li>
<li>避免使用属于道路名称的数字</li>
</ul>
<h2>示例</h2>
<p><strong>现场演示</strong></p>
<p><a href="https://regex101.com/r/hE5dL4/2" rel="nofollow">https://regex101.com/r/hE5dL4/2</a></p>
<p><strong>示例文本</strong></p>
<p>注:关于<code>I-75</code>的边大小写</p>
<pre class="lang-none prettyprint-override"><code>'m trying to match speed descriptions of highway tickets, for example,text lines:
"L A 16-25MPH" should return 2 groups: 16, 25
"LIMITED ACCESS SPEED I-75" should return no matches.
"LMT ACC 6-10" should return 2 groups: 6, 10
"6 OVER" should return 1 group: 6
I'm OK with all of the above situations, but I run into issues for strings with numbers that aren't related to speed, for example:
"LIMITED ACCESS SPEED I-75" should return no matches.
</code></pre>
<p><strong>样本匹配</strong></p>
<pre class="lang-none prettyprint-override"><code>MATCH 1
1. [89-90] `16`
2. [91-93] `25`
MATCH 2
1. [193-194] `6`
2. [195-197] `10`
MATCH 3
1. [231-232] `6`
</code></pre>
<h2>解释</h2>
<pre class="lang-none prettyprint-override"><code>NODE EXPLANATION
( group and capture to \1:
[0-9]+ any character of: '0' to '9' (1 or more
times (matching the most amount
possible))
) end of \1
(?: group, but do not capture:
- '-'
( group and capture to \2:
[0-9]+ any character of: '0' to '9' (1 or
more times (matching the most amount
possible))
) end of \2
| OR
\s* whitespace (\n, \r, \t, \f, and " ") (0
or more times (matching the most amount
possible))
over 'over'
) end of grouping
</code></pre>