[英]how to escape a whole sequence of characters?
我正在使用以下代碼在MFC C ++中“執行”正則表達式
std::wregex rx(regularExpression,nFlags);
std::wcmatch res;
std::regex_search(inputString, res, rx);
這用在對話框中,用戶在其中輸入regularExpression
,然后在我的inputString
搜索它。
用戶可能不希望使用正則表達式來查找他想要的內容,在這種情況下,我提供了一個選項“整個單詞”,該選項將匹配regularExpression
變量中的任何字符。
“整個單詞”是通過在<
和>
添加regularExpression
來完成的,是否還有其他特殊字符會使regex_search
方法忽略每個regex特殊字符,按字面意義對待它們,並用<
和>
括起來?
那么如何在不必轉義每個特殊字符的情況下轉義整個字符串呢?
C ++正則表達式不支持任何這樣做的方法。 如果要將用戶的字符串傳遞給正則表達式匹配器,則必須轉義每個特殊字符。
在某些正則表達式引擎中,有多種模式,其中一種模式默認情況下會特殊處理特殊字符,轉義它們會使字符按字面方式執行;另一種模式,字符缺省情況下會按字面方式運行,並且必須轉義才能使其具有特殊行為。 但是C ++正則表達式不支持該功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.