正则表达式匹配数字与前瞻
Regex match digits with lookahead
我有一个正则表达式:
(\d{1,20})
哪个匹配:
JPY; 7112630;
在此字符串中,我只想捕获数字:所以我使用:$1
但我还想在数字后添加“.00”,所以我使用:$1.00
但是现在我也想匹配数字,前提是我之前有JPY。
我试过了:
(?=JPY;\s*)(\d{1,20})
(?<=JPY;\s*)(\d{1,20})
没有成功!
您可以使用 捕获组 而不是无限宽度正后视:
(JPY;\s*\d{1,20})
并替换为.00
。见 regex demo.
根据正则表达式引擎,您可以删除 (...)
捕获括号,并在替换模式中使用 [=13=]
或 $&
而不是 </code>。</p>
<p>此外,如果您需要将这些值作为整个单词进行匹配,请用单词边界括起来:<code>\b(JPY;\s*\d{1,20})\b
.
我有一个正则表达式:
(\d{1,20})
哪个匹配:
JPY; 7112630;
在此字符串中,我只想捕获数字:所以我使用:$1 但我还想在数字后添加“.00”,所以我使用:$1.00
但是现在我也想匹配数字,前提是我之前有JPY。
我试过了:
(?=JPY;\s*)(\d{1,20})
(?<=JPY;\s*)(\d{1,20})
没有成功!
您可以使用 捕获组 而不是无限宽度正后视:
(JPY;\s*\d{1,20})
并替换为.00
。见 regex demo.
根据正则表达式引擎,您可以删除 (...)
捕获括号,并在替换模式中使用 [=13=]
或 $&
而不是 </code>。</p>
<p>此外,如果您需要将这些值作为整个单词进行匹配,请用单词边界括起来:<code>\b(JPY;\s*\d{1,20})\b
.