正则表达式检测我的单词内的空白

时间:2017-11-24 04:53:23

标签: javascript regex

我正在尝试匹配我的时间戳格式,但我需要检测它是否是无效格式(我需要对无效格式做些什么)

目前,我需要匹配时间戳中的空格字符:

示例:

[02:21.10,E] or [02:21.10,C#] //correct format
[02:21.10, E] or [10.21.10,E ]  //incorrect format, there is a space, but i need to match it with my incorrectRegex

对于我正确的正则表达式,我使用这个正则表达式并且它是有效的:

/\[(\d\d:\d\d\.\d\d),(.*?)\]/g

对于我的错误正则表达式,我使用

/\[\d\d:\d\d\.\d\d,\s*?\]/g

但是我找不到与我的格式错误相匹配的内容

nb:我正在使用javascript

1 个答案:

答案 0 :(得分:1)

试试这个:

\[\d\d[.:]\d\d[.:]\d\d,(?:[ ][^\]]+?|[^\]]+?[ ])\]

Live Demo



var re = /\[\d\d[.:]\d\d[.:]\d\d,(?:[ ][^\]]+?|[^\]]+?[ ])\]/;

console.log(re.test('[02:21.10,E]'));;
console.log(re.test('[02:21.10,C#]'));
console.log(re.test('[02:21.10, E]'));
console.log(re.test('[10.21.10,E ]'));
console.log(re.test('[10.21.10,C# ]'));
console.log(re.test('[02:54.97,C#]single[02:55.61,A ]'));




PS:我认为您的第二个无效样本[10.21.10,E ]在前两位数后不包含:并不是错误。我已经为第二个点/冒号应用了相同的内容。