• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:以前、ご質問させていただき、ご回答をいただいたのですが、 )

正規表現で文字列を判定する方法とは?

このQ&Aのポイント
  • 正規表現を使用して、文字列のパターンマッチングを行う方法について教えてください。
  • 特定の文字列の分解や展開方法について教えてください。
  • 正規表現の使い方や注意点について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • kumoz
  • ベストアンサー率64% (120/185)
回答No.2

次のプログラムですべて展開できると思います。 use strict; my @reg_str = ('server0[123]', 'client0[1-35-7]', 'client0[13-69]', 'client[1-3][0-9]', 'server0[1-3]0','server0[1-3]2','client0[a-z1]', 'client[a-c][12]'); my (@work, @result); foreach my $reg_str (@reg_str) { my @list = grep { length } split /(\[[-\w]+\])/, $reg_str; foreach my $item (@list) { if ($item =~ s/\[(.*)\]/$1/) { $item =~ s/(\w)-(\w)/join('', $1 .. $2)/eg; $item = [split //, $item]; } else { $item = [$item]; } } @result = (); comb(@list); print join(',', @result), "\n\n"; } sub comb { my $ref = shift; foreach my $i (@$ref) { push @work, $i; unless (@_) { push @result, join('', @work); } else { comb(@_); } pop @work; } }

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

ん~, なんでそんなわけのわからんことをする必要があるの?

関連するQ&A