如何实现使用正则表达式以下结果?
我想用正则表达式如下如下提取电话号码:
/(?:(\+?\d{1,3}) )?(?:([\(]?\d+[\)]?)[ -])?(\d{1,5}[\- ]?\d{1,5})/
使用这些测试案例:
"my number is 2435 6546 56756765"
"my complete number is 55 40 60 5585"
我有:
2435 6546 56756
不过,我需要的数字,具体如下:
2435654656756765
5540605585
所以,我想欣赏支持。
回答如下:给定的正则表达式的结构似乎并没有很好适应与给定的例子。的数字被用空格隔开,含有至少2位数字,并重复2 - 3次。
你可能做的是匹配模式和后删除空格字符。
const regex = /\d{2,}(?: \d{2,}){2,3}/g;
[
"my number is 2435 6546 56756765",
"my complete number is 55 40 60 5585"
].forEach(s => console.log(s.match(regex)[0].replace(/\s+/g, '')))
如何实现使用正则表达式以下结果?
我想用正则表达式如下如下提取电话号码:
/(?:(\+?\d{1,3}) )?(?:([\(]?\d+[\)]?)[ -])?(\d{1,5}[\- ]?\d{1,5})/
使用这些测试案例:
"my number is 2435 6546 56756765"
"my complete number is 55 40 60 5585"
我有:
2435 6546 56756
不过,我需要的数字,具体如下:
2435654656756765
5540605585
所以,我想欣赏支持。
回答如下:给定的正则表达式的结构似乎并没有很好适应与给定的例子。的数字被用空格隔开,含有至少2位数字,并重复2 - 3次。
你可能做的是匹配模式和后删除空格字符。
const regex = /\d{2,}(?: \d{2,}){2,3}/g;
[
"my number is 2435 6546 56756765",
"my complete number is 55 40 60 5585"
].forEach(s => console.log(s.match(regex)[0].replace(/\s+/g, '')))