1

正規表現の概念を理解しようとしていますが、何かが足りないようです。

誰かがフィールドに .wav で終わる文字列を入力するようにしたいと考えています。非常に単純な正規表現である必要があります。

私はこれを試しました... [RegularExpression(@"$.wav")] しかし、間違っているようです。どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1

1

$は文字列の終わりのアンカーなので$.wav、意味がありません。文字列の終わりの後に文字を含めることはできません。また、.正規表現には特別な意味があります(これは単に「任意の文字」を意味します)ので、それをエスケープする必要があります。

書いてみてください

\.wav$

それでもうまくいかない場合は、試してみてください

.*\.wav$

RegularExpression属性が文字列全体と一致するか、文字列の一部のみと一致するかによって異なります。.*「任意の文字、0回以上」を意味します)

考慮すべきもう1つのことは、フィールドの余分な空白をどうするかです。ユーザーには、入力に余分な空白を追加するというひどい習慣があります。そのため、さまざまな.Trim()機能が非常に重要です。ここでRegularExpressionAttributeは、入力をトリミングする前に評価される可能性があるため、次のように記述します。

.*\.wav[\s]*$

この[\s]*セクションは、「0回以上の空白文字(タブ、スペース、改行など)」を意味します。

正規表現に関するチュートリアルを読む必要があります。このような単純な問題を理解するのはそれほど難しくありません。私が学んでいたとき、私はこのサイトがとても便利だと思いました:http: //www.regular-expressions.info/

于 2012-12-12T20:24:58.240 に答える