電子書籍の厳選無料作品が豊富!

VB2010の正規表現についての質問です。
ファイル名に複数のドット(ピリオド)が含まれる時や、複数の拡張子がある時でも、
一番最後にある拡張子だけを取り出したいのです。

System.Text.RegularExpressions.Regex("正規表現")
で正規表現を指定していますが、

例えば、『T.M.Revolution.m3u』の場合は、『.m3u』だけを取り出したいので、

("[.].*$")

とすると、マッチする部分が『.M.Revolution.m3u』となる為、

("([.].*){1}$")

に、試しに変更してみましたが、失敗してしまいました。


知っている方、
『上記の書き方だと何故ダメなのか』 と、 『この場合の正しい正規表現』
を教えていただけませんか?

あと、正規表現ではない代替案などが有れば、是非それも教えて頂きたいです。
よろしくお願いします。

A 回答 (2件)

正規表現なんて使わなくても、


dim hoge as string = "T.M.Revolution.m3u"
dim extension as string = hoge.Substring(hoge.LastIndexOf("."))

とかでいいんではないでしょうか。

もしくはPath.GetExtension()を利用して
imports System
dim hoge as string = "T.M.Revolution.m3u"
dim extension as string = Path.GetExtension(hoge)

みたいな。
    • good
    • 0

VB知らないのに、済みません。



普通の正規表現では、
(¥.¥w+)$
ピリオドの後に英数字が幾つかあって終わり。
    • good
    • 0
この回答へのお礼

正規表現の回答ありがとうございます!

残念ながら、教えていただいた方法では解決しませんでした。
しかし、正規表現の自分より正しい表記なんだと思いますので、
大変勉強になります。

お礼日時:2012/08/24 23:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!