2016-09-19 6 views
0

私は一致する正規表現を構築するのに十分な時間を無駄にしました。 '* 正規表現 - 連続した文字には一致しません - C#

  • 必要があります ' - - []ユーザーが好きなようまたは両方、何回か'[AZ] +
  • は、間に[AZ] +
  • を持つことができるで終わると

    1. 開始連続しないでください。同様に、連続してはいけません。

    ご協力いただきありがとうございます。

  • +0

    を使用することができる場合あなたが望むことをしますが、別々のステートメントははるかに読みやすくメンテナンス可能であり、ほとんどのユースケースで実際に悪いことはしません。 –

    +0

    @ 4castleそれは動作しません。 –

    +0

    私はRegex101で試しました。それはうまくいかなかった。 –

    答えて

    2
    ^(?!.*(?:''|--))[a-z][a-z'-]*[a-z]$ 
    

    あなたはsame.Seeデモ用lookaheadを追加することができます。

    https://regex101.com/r/wV5bD0/2

    長さは12あなたはこれが通常の文字列関数でまたは別の正規表現のいずれかで行うのは容易であろう...あなたはおそらくに式を作成_could_

    ^(?!.*(?:''|--))(?=[a-z])[a-z'-]+(?<=[a-z])$ 
    
    +0

    おかげでvks、これは私のためのトリックを行っています。私はそれがどのように動作するのか理解できるように、あなたはそれを分解してください。とにかくありがとう – ahsant

    +0

    @ahsant私が追加した唯一のことは、 '' ''や' --'を見つけると一致しないはずの '' lookahead'です。 – vks

    +1

    最小長が3未満であれば3)あなたは '^(?!。*(?: '' | - ))\ b [a-z ' - ] + \ b $'パターンを使用して1つ以上を許可することができます。 –

    関連する問題