2017-11-24 15 views
0

私は私のタイムスタンプ形式に一致するようにしようとしているの内側に空白を検出するために、私はそれが無効な形式であるかどうかを検出する必要がある私は、正規表現は、私の言葉

現在、(私は無効な形式について何かをする必要があります)私のタイムスタンプ内の空白文字を一致させる必要があります。

例:私の正しい正規表現のための

[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の

+0

これはJavascriptで動作するのかどうかわかりませんが、 '[]'についてはどうですか(括弧内のスペースに注意してください) –

+0

実際には無効なフォーマットと一致する必要があります。 ur正規表現を使用してください、それはスペースがある場合一致しません –

答えて

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 ]は、最初の2桁の数字の後に:が含まれていないエラーではありませんと仮定します。私は2番目のドット/コロンに同じものを適用しました。

+0

それはほとんど動作! 私は正しい正規表現と組み合わせようとすると、不正なフォーマットが正しいフォーマットと一致することがあるので、間違ったフォーマットが緑色で表示されることがあります さらに進んでください。今? –

+0

「正しい正規表現と組み合わせる」とはどういう意味ですか?これは別の質問ですか?答えは、無効な形式と一致させることです。 – wp78de

+0

ええ、それは別の正規表現ですが、正しく正規表現と不正確な正規表現に合致するプラグインを使用しています。正規表現が有効なので、あなたの質問は –

関連する問題