給定的文本是「C」式結構 -字符串替換不會在Perl工作
struct mystruct {
int a[100];
int b[10*10];
int c[10*5+(25*2)];
int d[10^2];
}
由線閱讀文本行和每個陣列中評估元件的數量,並與元件重新聲明陣列計數。
結果應打印如下: -
struct mystruct {
int a[100];
int b[100];
int c[100];
int d[100];
}
以下字符串替換不會爲我工作 -
if ($line =~ m/.*?\[(.*?)\]/) {
$answer = eval ($1);
$line =~ s/$1/$answer/g;
}
取代沒有工作和$線仍然是所有評估不變元素數。
$ 1包含了都由S /// –
其他的解決方案可能是更明智的interpeted特殊字符(*,+),但如果你需要匹配一個字面在未來的正則表達式中,您應該看看'\ Q'轉義或'quotemeta'。 – hobbs