Regex正则表达式-结果中仅包含数字

g9icjywg  于 2023-06-07  发布在  其他
关注(0)|答案(1)|浏览(214)

我尝试只提取特定字符串Total (ex. VAT) £112.49后面的数字。我今天开始学习正则表达式,然后卡住了。我已经得到了它返回我想要的值,但它也显示了一些字母也。

下面是正则表达式查询:ex.*?\d+(?:\.\d+)?
数据如下:

Sub total (inc. VAT)    £134.99
VAT £22.50
Total (inc. VAT)    £134.99
Total (ex. VAT) £112.49:

*结果:ex. VAT) £112.49
*期望结果:112.49

我还附上了一个截图供参考。

vfwfrxfs

vfwfrxfs1#

您可以使用捕获组,并使模式更具体:

\(ex\.[^()]*\)\s*£(\d+(?:\.\d+)*)\b
    • 说明**
  • \(匹配(
  • ex\.匹配ex.
  • [^()]*匹配()以外的可选字符
  • \)匹配)
  • \s*匹配可选空格字符
  • £按字面匹配
  • (\d+(?:\.\d+)*)组1,1+数字,可选小数部分
  • \b A字边界

Regex demo
或者在捕获数字之前使用\D*匹配可选的非数字:

\(ex\.[^()]*\)\s*\D*(\d+(?:\.\d+)*)\b

Regex demo

相关问题