C#で
Regex.IsMatchメソッドで文字列が想定している形になっているかを調べたいのですが
正規表現の方法がわかりません。
ファイル検索のワイルドカードの*のように「任意の長さの文字」を表現するときはどのようにしたらよいでしょうか?
ワイルドカードの場合の
記述例:
た*
該当例:
たこ
たぬき
今回の用途で意図する文字列:
あいうえ_123
あいうえお_12354
アンダースコアが文字列の間に含まれているかどうかを調べたいです。
ワイルドカードで表現するところの
_
になります。
*に来るところの文字数は不定なので、
\D\D\D_\D\D\D
のようにはしたくありません。
宜しくお願い致します。
正規表現は不要です。
https://docs.microsoft.com/ja-jp/dotnet/api/system.string.contains?view=net-6.0

まずは自分で調べましょう https://teratail.com/help/question-tips
調べて xxx を読んだけど分からないということならその事を書きましょう。
聞くならあなたの言う「任意の長さ」の定義を書きましょう (特に 0 回以上の繰り返しなのか 1 回以上の繰り返しなのか)。あと「文字」の定義も (_ の左はひらがな、右は数字というような制約があるならそれを。逆にホントに任意ならその中に _ が含まれているということはないのかなど)。
zuishin様
質問で要件をお伝えしきっておりませんでした。
「_」(アンダースコア)が含まれるかどうか
を調べたいのは事実ですが
_あいうえお (アンダースコアで始まるもの) や
あいうえお_ (アンダースコアで終わるもの) は取りたくない為
ワイルドカードで言うところの
「*_*」のような形を取りたかったです。
文字数不定の文字列_文字数不定の文字列 のものだけを取りたかったしだいです。
ファイル名のワイルドカードは 0 文字以上の文字列ですが、ここで求められているのは 1 文字以上の文字列です。
何かに例えるのは曖昧になるのでやめた方が良いと思います。
zushin様
すみません。ワイルドカードの*は0文字以上の文字列、なんですね。私の認識の間違いでした。

質問者さん>
> _あいうえお (アンダースコアで始まるもの) や
> あいうえお_ (アンダースコアで終わるもの) は取りたくない為
であれば * はダメで、+ でなければならないはず。人のレスをスルーあなたは BL に入れときます。

String.IndexOf の戻り値が 1 以上か否かで判断すればで良いのでは? きちんと条件が書けないのに正規表現をつかうなんてことがおこがましいかも。
なるほど。そういう考え方もあるのですね。
私の質問が、不明確で稚拙であったことは認めますが
「おこがましい」とは失礼なものいいですね。マナーの無い人ですね。

人のレスをスルー・無視する人にマナー云々を言う資格はない
SurferOnWww様
下記に該当すると思いました。通報させて頂きます。
利用規約7条(5)他人に不快感を与える表現を含む情報

お気に召さないなら「おこがましい」を「片腹痛い」とか「十年早い」とか「分不相応」に書き換えてあげましょうか?
