2017-06-15 5 views
-1
if(Regex.IsMatch(c1,@"^[A-Za-z]([\*][a-z])*[A-Za-z]+$")) 

    { 
     return true; 
    } 

文字は文字で始まり文字で終わらなければならないという正規表現を書いていますすべてのアルファベットの間に「*」が含まれています。私はすべてのアルファベットの間に特殊文字を指定する方法を知らない。正規表現の文字列には、すべてのアルファベットの間に "*"が含まれていますが、アルファベットで始まり、終わりになります

+0

2つの非アルファベット文字はどうなりますか?それらの間に星はないでしょうか? –

+0

*「すべてのアルファベットの間に特殊文字を指定する方法がわかりません」*は一切明らかではありません。正しい入力と誤った入力の例を表示します。 –

+0

正しい形式は「CSaSrSaScStSeSr」です。ここではすべての文字の間に星を入れることはできません。例えば、私は特殊文字スターの代わりに "S"を入れます。 – Gayathri

答えて

0

あなたが探していると思われる場合:大文字は、文字列の途中で許可されている場合

^[A-Za-z](?:(?:\*[a-z])*\*[A-Za-z])?$ 

、あなたはこの面白い方法を使用することができます。

^(?!.*\B)[A-Za-z*]+$ 

(否定先読みを(?!.*\B)文字列に単語以外の境界が含まれないようにする)

+0

ありがとうございます..それはうまく動作します – Gayathri

+0

入力文字列が '\ n" 'で終わることを除いては。 –

+0

@WiktorStribiżew:いいえ、pcreの特殊性ですが、 '$'は.netの後ろに改行文字が来る前には一致しません:http://regexstorm.net/tester?p=%5e.%24&i=a%0d% 0a –

1

これは次のようになります。

^[a-zA-Z](?:\*[a-zA-Z])+$

これは文字列の先頭で最初の文字を探し、次に文字が続く*のすべての組み合わせを探します。

Demo

関連する問題