JavaScript:正则表达式在文本

时间:2018-05-09 08:24:59

标签: javascript regex

我在正则表达式中非常初学者所以我有一段这个段落包含两个必需的数字第一个串行[fp,sp,tp,fop]让我们假设长度为

  

fp = 3,sp = 2或1,tp = 3 TO 5,fop = 2 TO 5

并且所有这些都将被数字分隔 - 将像这样

  

432-32-2356-12

,日期时间就像

  

23-AUG-2017

例如,这是一个包含我的要求的文本

  

大家好今天23-aug-2017我加入了stackoverflow社区   这个序列号432-32-2356-12

然后如何找到我尝试过的两个数字,但没有得到正确的结果,这是我在JavaScript /(\d[\d\.]*)/g中的规范 它也是我的代码

var serial=p.match(/(\d[\d\.]*)/g);
var date=p.match(/(\d[\d\.]*)/g); 

请在纯javascript中提供任何帮助或建议

1 个答案:

答案 0 :(得分:0)

在你的日期正则表达式中,你完全忽略了字符串部分。



var text = 'Hello every one today 23-aug-2017 I joined stackoverflow community via this serial 432-32-2356-12';
var re1 = /(\d{3})\-(\d|\d{2})\-(\d{3,5})\-(\d{2,5})/;
console.log(text.match(re1)[0]);
var re2 = /(\d{2})\-([a-z]{3})-(\d{4})/i;
console.log(text.match(re2)[0]);