-1
用正則表達式特殊字符的字符串我在文件中的行包含以下字符串匹配包含在Perl
$print = "SM_sdo_debugss_cxct6_CSCTM_4 \csctm_gen[4]_ctm_i_nctm_I_csctm (4+5)";
$my_meta = '\csctm_gen[4]_ctm_i_nctm_I_csctm';
print "I got this\n" if($print =~ /\Q$my_meta\E/);
但它無法找到$my_meta
字符串中$print
。爲什麼?
但我沒有任何控制編輯我的$ my_meta,它會來自處理其他文件。我想在我的正則表達式中放置一個條件,它會將任何帶有特殊字符的字符串作爲搜索字符串。我的觀點清楚了嗎?謝謝 –
@AbhishekDas不,它不是很清楚。你是說你想解釋'$ my_meta'中的一些反斜槓序列,而不是其他的?無論如何,如果你想要解決真正的問題,請展示你真實的代碼。 – melpomene
在實際情況下,$ my_meta將來自其他一些腳本,$ my_meta的內容可能有反斜槓,我將在文件中搜索並獲取相應的行號。所以我不能像你在解決方案中所建議的那樣編輯$ my_meta的內容。我必須在'if($ print =〜/ \ Q $ my_meta \ E /);'語句中捕獲$ my_meta字符串 –