文字列を正規表現に置換して一致するかを確かめる方法

例えば
list = {“file1_[YYYYMM]”, “file2[YYYY]”}
というリストと
str = file1_202304
という文字列があるとします。

listの各要素の"[*]"を、「1〜9の数字の1回以上の繰り返し」に置き換えた文字列がstrに一致するかどうか
というワークフローを作りたいのですが、どうしたら良いでしょうか。

「1〜9の数字の1回以上の繰り返し」という曖昧な感じに変換する良い方法を伺いたいです。

こんにちは

0は含まなくてよいですか?
文字列単独の評価なら

System.Text.RegularExpressions.Regex.IsMatch(str,"^file1_[1-9]+$")

リスト中の文字列に合致するかであれば

list.Any(Function(s) System.Text.RegularExpressions.Regex.IsMatch(str,"^"+System.Text.RegularExpressions.Regex.Replace(s,"\[.*?\]","[1-9]+")+"$"))

でいかがでしょうか?

1 Like

いつもお世話になっております。
期待した動きになりました!!
本当にありがとうございます。
正規表現の事など含め、さらに精進したいと思います。 ありがとうございました。

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.