如何只匹配正则表达式中的第一个数字
How to match just the first number in Regex
我有这个字符串
<h2 id="1">1. Item 1</h2>
<h2 id="1.2">1.2. Item 1.2</h2>
<h2 id="2">2. Item 2</h2>
我需要匹配文本中具有整数 1. 和 2. 的 headers。不是 1.2.
我是这样做的
<h2.*?>(.*?)[0-9]\.\s+(.*?)</h2>
匹配所有headers。我哪里错了?
去掉(.*?)
,然后在[0-9]
后面加一个+
,因为(.*?)
存在于[0-9]
之前,会匹配任何字符零次或多次,其中-turn 比赛 1.
<h2.*?>[0-9]+\.\s+(.*?)</h2>
您可以使用正则表达式:
<h[1-6][^>]*>\d{1}\.(?!\d{1}\.)([^<]*)<\/h[1-6]>
我有这个字符串
<h2 id="1">1. Item 1</h2>
<h2 id="1.2">1.2. Item 1.2</h2>
<h2 id="2">2. Item 2</h2>
我需要匹配文本中具有整数 1. 和 2. 的 headers。不是 1.2.
我是这样做的
<h2.*?>(.*?)[0-9]\.\s+(.*?)</h2>
匹配所有headers。我哪里错了?
去掉(.*?)
,然后在[0-9]
后面加一个+
,因为(.*?)
存在于[0-9]
之前,会匹配任何字符零次或多次,其中-turn 比赛 1.
<h2.*?>[0-9]+\.\s+(.*?)</h2>
您可以使用正则表达式:
<h[1-6][^>]*>\d{1}\.(?!\d{1}\.)([^<]*)<\/h[1-6]>