1

私は少しの間RegExのヘルプを調べてきましたが、私を助けるためにプロが必要だと思います。これは正規表現で可能だと思いますが、その方法を理解することはできません。

これは私が探している試合です。それがこれと正確に一致しない場合、私は知りたいです:

\w{2,4}\s\d{4}

私は基本的に一般的な学校のコース名と一致させたいです。要件は次のとおりです。

  1. 最初の部分は2〜4文字です
  2. 2番目の部分は正確に4つの数字です
  3. 2つの間にスペースが必要です

これに他のバリエーションがある場合は、次のコードの実行を停止したいと思います。スペースの左右の端を簡単にトリミングできますが、そこに他に何もないことを確認したいと思います。

私の問題は、私の現在の表現では、誰かがCOMD1500-Bを入れることができるということです。私はまだ一致し、その理由は理解していますが、誰かが4つ以上の数字を入力した場合、停止してエラーをスローできることを確認したいと思います。4文字以上あるだけでなく。{}私は最大を作ることになっていたと思いました。

4

2 に答える 2

1

^文字列の開始を示し、文字$列の終了を示します。そのため^\w{2,4}\s\d{4}$、文字列一致のサブセットだけでなく、文字列全体がパターンに一致することを確認します。

于 2012-10-12T22:34:38.050 に答える
0

あなたは正規表現パターンで行くべきです

^[a-zA-Z]{2,4}\s+\d{4}$

大文字のみが許可されている場合は、正規表現パターンを使用してください

^[A-Z]{2,4}\s+\d{4}$

スペース文字を1つだけ使用できる場合は、。に置き換え\s+\sください。そして、そのようなスペースがスペースバー文字だけである場合(はい、より多くの空白文字があります)、\sスペースバー文字に置き換えます

^[A-Z]{2,4} \d{4}$
于 2012-10-12T22:47:57.960 に答える