0

特殊文字を許可する方法はありますが、VB.netで英数字の後にのみ、vb 2011を使用しています

パイプ (|) を挿入できるようにしたいのですが、英数字チャーターの後にのみ、先頭または末尾ではありません。言い換えれば、パイプを次々と許可したくありません..

例: car|truck|1999|2000 (正解)

|車||トラック|1999年|||2000年| (違う)

先頭または末尾のパイプはなく、複数のパイプが並んでいません。これは難しい問題です、助けてもらえますか?

4

2 に答える 2

2

特定の時点で無効になるキー押下を無視するのではなく、最終的な文字列で正規表現検証を使用することを検討する必要があります。

3 つのパイプで区切られた値を許可する正規表現を次に示しますが、簡単に拡張できます。

^(?:[^|]+(?:\|[^|]+){0,2})?$ 
于 2012-06-07T14:12:10.250 に答える
0

正規表現でもそれを行います:

これを使用: (\|)(?:\|)+\1 に置き換えます

于 2012-06-07T14:17:21.753 に答える