DOBON.NET DOBON.NETプログラミング掲示板過去ログ

正規表現について

分類:[.NET]

はじめまして。イルカと申します。
現在ASP.netでテキストボックスに入力された
Windows形式のファイルパスの検証を
RegularExpressionValidatorを用いて行おうとしています。
次のような形式の妥当性を検証しようとしているのですが、
うまく正規表現が利用できません。
どのようにすればよいのか教えてください。

検証したいフォーマット:(\文字列)\ファイル名.拡張子
条件:
()で囲まれた箇所は1回以上の繰り返しを許可する。
ファイル名は拡張子付きで指定されなければいけない。
(拡張子は何でも構わない)
例:C:\project\app\test.tl

よろしくお願いします。
■No716に返信(イルカさんの記事)
> 検証したいフォーマット:(\文字列)\ファイル名.拡張子
> 条件:
> ()で囲まれた箇所は1回以上の繰り返しを許可する。
> ファイル名は拡張子付きで指定されなければいけない。
> (拡張子は何でも構わない)
> 例:C:\project\app\test.tl

私はあまり正規表現に自信はないのですが、イルカさんのおっしゃっている通りにパターンを書くと、次のような感じになりませんか?

if (System.Text.RegularExpressions.Regex.IsMatch(
@"C:\project\app\test.tl",
@"(\\[^\\/:*?""<>|]+)+\\[^\\/:*?""<>|]+\.[^\\/:*?""<>|]+$"))
MessageBox.Show("Match");

ただしパス名の妥当性の評価云々は考慮していません。

DOBON.NET | プログラミング道 | プログラミング掲示板