2

最初の文字は、等号 ( =) 以外であれば何でもかまいません。

次の正規表現を作成しました。

[^=].

abb2などは合格し、合格しませ=aん。

しかし、問題は、私も単一の文字を受け入れたいということです:

aも受け入れる必要があります。どうやってやるの?

アップデート

なぜ私がそんなことをしているのか不思議に思うかもしれません。URL正規表現があります

(?!=)((www\.|(https?|ftp)://)[.a-z0-9-]+\.[a-z0-9/_:@=.+?,#%&~-]*[^.'#!()?, ><;])

=しかし、URLが文字の直後にある場合、URLを解析したくありません。

4

5 に答える 5

5

否定先読みを試してください:

^(?!=)

^入力の開始に一致し(?!...)、否定的な先読みです。空の文字列にも一致します。

于 2010-10-14T09:56:54.037 に答える
3

これが正規表現の唯一の制約である場合は、使用している言語によって提供される API を使用して、文字列の最初の文字を取得するようにしてください。

String s = "myString";
if(s.Length == 0 || s[0] != '=')
    //Your code here

本当に正規表現が必要な場合は、@Bart solutionをご覧ください。

これは、先読みなしの代替手段です/^([^=]|$)/

^        <- Starts with
(        <- Start of a group
  [^=]     <- Any char but =
  |        <- Or
  $        <- End of the match
)        <- End of the group
于 2010-10-14T10:06:01.023 に答える
1

正規表現は必要ありません。String.StartsWithがあります...

if ( ! theString.StartsWith("=") ) {
   ...
于 2010-10-14T10:23:22.183 に答える
0

最初と最後に固定し、すべてをオプションにします。

^(?:[^=].*)?$
于 2010-10-14T09:56:56.750 に答える
0

^=コードに一致するものがない場合は、使用して行動することはできませんか?

于 2010-10-14T09:58:36.220 に答える