2016-06-17 15 views
0

私は例えばのため正規表現に一度

ように文字列に"." in String appearing maximum onceための正規表現を記述しようとしています

Nick.Div is Valid 
NickDiv is Valid 
Nick.Div. is Invalid 
Nic.k.Div is Invalid 

私はいくつかの例を試しましたが、すべて失敗しました。私はRegExで非常に悪いので、これについてあなたの助けに本当に感謝します。オンラインチュートリアルで私はさらに混乱しました。

+0

あなたは –

+0

@MarcBまあどのように私はそれを見て回る使用する[前後参照](http://www.regular-expressions.info/lookaround.html)を必要とし、最終的に正規表現であるようです。実際にはそれよりも混乱しています。 –

答えて

1

だから、あなたはすべての非ドット文字である文字列のいずれかと一致するようにしたい:

^[^.]*$ 

または非ドットの文字が続く.続く非ドット文字列、:

^[^.]*\.[^.]*$ 

我々は1つの正規表現にそれらを組み合わせることができます。

^[^.]*(?:\.[^.]*)?$ 

です:

^   # beginning of string 
[^.]*  # 0 or more non-. characters 
(?:  # start of a (non-capturing) group 
    \.  # a literal . 
    [^.]* # 0 or more non-. characters 
)?  # end of group, which is optional (appears 0 or 1 times) 
$   # end of string 
+0

すべてが1つ以下の文字列を必要とします。 "その中の文字。 –

+0

@NickDivはい...知っていますか?私はあなたの質問が言ったことだから、それは私があなたに与えたものです。私はあなたのコメントで非常に混乱しています。 – melpomene

+0

あなたの答えは1.すべてのドット以外の文字2.ドット以外の文字の後に "。"再びドットが続いていない –