JScript Regex - 提取 10 位增值税号,分隔符前面有一个子字符串
JScript Regex - extract 10-digit VAT number with seperators procedeed by a substring
我需要提取增值税号,它由 10 位数字组成,用破折号分隔,space 或不分隔,并由子字符串 'VAT' 继续。增值税号从不以零开头,并且始终后跟 space.
reg = new RegExp('[\d -]{10}\s','ig');
str = ('sdfgzdfvzdfv/9/2020 VAT Invoice 16-09-2020 Citsxc zzzzw34 224- Iscvcge date 16.09.2020 VAT Terms 34 of payment: 123-456-78-90 *')
expected result: '123-456-78-90'
谢谢。
您可以使用
var rx = RegExp('VAT.*?([1-9](?:[\s-]?\d){9})(?!\S)','i');
见regex demo。详情:
VAT
- VAT
子字符串
.*?
- 除换行字符外的任何 0+ 个字符,尽可能少
([1-9](?:[\s-]?\d){9})
- 第 1 组:
[1-9]
- 非零数字
(?:[\s-]?\d){9}
- 出现 9 次空格或连字符,然后是数字
(?!\S)
- 右侧空白边界。
JScript 代码演示:
var rx = RegExp('VAT.*?([1-9](?:[\s-]?\d){9})(?!\S)','i');
var string=('sdfgzdfvzdfv/9/2020 VAT Invoice 16-09-2020 Citsxc zzzzw34 224- Iscvcge date 16.09.2020 VAT Terms 34 of payment123-456-78-90 ');
var m = string.match(rx);
if (m) {
WScript.Echo(m[1]);
} else {
WScript.Echo("No match!");
}
输出:123-456-78-90
.
我需要提取增值税号,它由 10 位数字组成,用破折号分隔,space 或不分隔,并由子字符串 'VAT' 继续。增值税号从不以零开头,并且始终后跟 space.
reg = new RegExp('[\d -]{10}\s','ig');
str = ('sdfgzdfvzdfv/9/2020 VAT Invoice 16-09-2020 Citsxc zzzzw34 224- Iscvcge date 16.09.2020 VAT Terms 34 of payment: 123-456-78-90 *')
expected result: '123-456-78-90'
谢谢。
您可以使用
var rx = RegExp('VAT.*?([1-9](?:[\s-]?\d){9})(?!\S)','i');
见regex demo。详情:
VAT
-VAT
子字符串.*?
- 除换行字符外的任何 0+ 个字符,尽可能少([1-9](?:[\s-]?\d){9})
- 第 1 组:[1-9]
- 非零数字(?:[\s-]?\d){9}
- 出现 9 次空格或连字符,然后是数字
(?!\S)
- 右侧空白边界。
JScript 代码演示:
var rx = RegExp('VAT.*?([1-9](?:[\s-]?\d){9})(?!\S)','i');
var string=('sdfgzdfvzdfv/9/2020 VAT Invoice 16-09-2020 Citsxc zzzzw34 224- Iscvcge date 16.09.2020 VAT Terms 34 of payment123-456-78-90 ');
var m = string.match(rx);
if (m) {
WScript.Echo(m[1]);
} else {
WScript.Echo("No match!");
}
输出:123-456-78-90
.