我尝试只提取特定字符串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
我还附上了一个截图供参考。
1条答案
按热度按时间vfwfrxfs1#
您可以使用捕获组,并使模式更具体:
\(
匹配(
ex\.
匹配ex.
[^()]*
匹配(
或)
以外的可选字符\)
匹配)
\s*
匹配可选空格字符£
按字面匹配(\d+(?:\.\d+)*)
组1,1+数字,可选小数部分\b
A字边界Regex demo
或者在捕获数字之前使用
\D*
匹配可选的非数字:Regex demo