BSC0 ~ BSC10 と "TOTAL" を一致させる必要があります。ただし、以下の条件は BSC1 と BSC10 のみに一致します。何が足りない?s/regex/
m/regex/
バリエーションも試してみました
$currentRowHeader
スペースなしの単一の単語が含まれます
if ($currentRowHeader =~ /BSC[0-10]|TOTAL/) { print "OK"}
[...]
文字クラスです。1 文字のみに一致できます。正規表現には数字の概念がなく、数字の概念しかありません。あなたの正規表現が言っていることは
0
からまでの文字1
(0
または1
) に一致するか、 a に一致し0
ます。
したがって、1 つの 2 進数にのみ一致します。あなたが使用することができます
if ($currentRowHeader =~ /BSC(?:[0-9]|10)|TOTAL/) { print "OK" }
?:
は必須ではありませんが、不要なキャプチャを抑制して操作を高速化するため、良い習慣であることに注意してください。