0

ASP.NETアプリケーションにテキストボックスがあり、正規表現を使用してユーザー入力文字列を検証する必要があります。要件は、文字列を含むハイフンの総数が1つだけであることです。

一致:

  1. テスト
  2. テスト-こんにちは
  3. テスト-
  4. -テスト

不一致:

  1. テスト--こんにちは
  2. -テスト-
  3. test-hello--
4

2 に答える 2

3

このパターンを使用して、ハイフンが 0 個または 1 個の文字列に一致させることができます。

^[^-]*-?[^-]*$

説明:

文字列の先頭 ( ) から始まり、^0 個以上の非ハイフン文字 ( [^-]*) と、その後にオプションのハイフン ( -?) が続き、その後に 0 個以上の非ハイフン文字 ( [^-]*) と文字列の末尾( $)が続きます。


ハイフンが 1 つだけの文字列に一致するこのパターン:

^[^-]*-[^-]*$

説明:

文字列の先頭 ( ) から始まり、^0 個以上のハイフン以外の文字 ( [^-]*) と、その後に必要なハイフン ( -) が続き、その後に 0 個以上のハイフン以外の文字 ( [^-]*) と文字列の末尾( $)が続きます。

于 2013-03-20T16:18:24.777 に答える
2

これを試して :

^[^-]*-?[^-]*$

[^-]ハイフン以外の文字です。

于 2013-03-20T16:19:38.957 に答える