擅长:python、mysql、java
<p>如果我理解正确,我假设以<code>10.</code>开头的行总是以<code>11.</code>结尾。如果是这样,我们只需要找到<code>10.</code>,然后检查后面的内容:</p>
<pre><code>10\.\s.+(?<=pH )(\d[.,]?\d)(?=\s)
</code></pre>
<p>这与<code>10.</code>匹配,然后匹配任何前面有<code>"pH "</code>的数字(使用后面的正查找)。然后它将捕获限制为2位数字,可以选择用句点或逗号分隔</p>
<p><a href="https://regex101.com/r/qF2dP6/2" rel="nofollow">see demo here</a></p>
<h3>更新</h3>
<p>根据注释中的说明,它现在具有<code>11.</code>结束分隔符,并捕获找到的第一个“pH”之后所需的数字</p>
<pre><code>\b10\.\s.+(?<=pH )(\d[.,]?\d)\s.+?\b11\.
</code></pre>
<p><a href="https://regex101.com/r/qF2dP6/3" rel="nofollow">updated demo</a></p>