回答
假設您希望整個正則表達式忽略大小寫,您應該查找i
flag。幾乎所有的正則表達式引擎支持它:
/G[a-b].*/i
string.match("G[a-b].*", "i")
檢查你的語言/平臺/工具的文檔以瞭解如何指定的匹配模式。
如果你想在正則表達式的唯一部分爲區分大小寫(因爲我原來的答覆假設),那麼你有兩個選擇:
使用
(?i)
和[可選](?-i)
模式修飾符:(?i)G[a-b](?-i).*
把所有的變化(即小寫和大寫)在正則表達式 - 如果不支持模式改進劑:
最後[gG][a-bA-B].*
一個注意:如果你使用Unicode字符的處理,除了ASCII,檢查你的正則表達式引擎是否合適地支持他們。
輝煌! Works for:perl -pe's/^ utf-8 \?B \?。* $ // gi'Cancer.1631,匹配/替換字符串「UTF-8?B?」在檔案Cancer.1631。這失敗了:perl -pe's/^ utf-8 \?B \?。* $ // g'Cancer.1631,由於案例不匹配。 – 2018-01-18 01:26:10
i
的標誌通常是用於區分大小寫。你不會在這裏提供一種語言,但它可能會像/G[a-b].*/i
。
取決於實現 ,但我會用
(?i)G[a-b].
這是TortoiseHg搜索正則表達式引擎的修飾符格式。 – mwolfe02 2015-03-12 14:08:42
你能告訴我如何在Linux shell中實現這個功能(比如在不使用「-i」開關的情況下在egrep中)? – 2015-09-05 00:58:58
這完美在C# – 2017-02-23 09:09:44
只是爲了完整起見,我想增加對正則表達式的解決方案在C++中使用Unicode:
std::tr1::wregex pattern(szPattern, std::tr1::regex_constants::icase);
if (std::tr1::regex_match(szString, pattern))
{
...
}
有人可以澄清爲什麼這篇文章downvoted?接受的解決方案使用特定的代碼,爲了完整起見,我想爲C++語言的標準庫添加解決方案。在我看來,我已經爲更普遍的問題產生了附加價值。 – Frankenstein 2013-08-07 06:24:44
您也可以導致你的初始字符串,你要檢查模式匹配,小寫。並分別在您的模式中使用小寫符號。
正如我在類似文章(ignorecase in AWK)中發現的,在舊版本的awk上(例如在香草Mac OS X上),您可能需要使用'tolower($0) ~ /pattern/'
。
IGNORECASE
或(?i)
或/pattern/i
將產生一個錯誤或每行返回true。爲驗證 'ABC' 忽略大小寫敏感
[gG的] [AABB] *如果模式是不是太複雜或長大概simples溶液。
想知道爲什麼這個答案對於給定的問題是錯誤的嗎? – 2017-12-24 16:17:45
- 1. 正則表達式區分大小寫
- 2. 忽略大小寫部分的正則表達式
- 3. 正則表達式忽略區分大小寫的字符串Java腳本
- 4. 正則表達式PatternRepository模式 - 如何忽略大小寫
- 5. 忽略區分大小寫
- 6. 正則表達式「忽略大小寫」時指定
- 7. 蟒蛇MongoDB的正則表達式:忽略大小寫
- 8. JavaScript正則表達式忽略大小寫(無效組)
- 9. 如何在正則表達式中忽略大小寫?
- 10. MVC4正則表達式忽略大小寫造成的問題
- 11. PostgreSQL正則表達式不區分大小寫的部分
- 12. 對正則表達式的一部分不區分大小寫?
- 13. 正則表達式忽略大括號
- 14. 正則表達式中不區分大小寫的方式
- 15. 正則表達式匹配區分大小寫
- 16. 正則表達式不區分大小寫
- 17. 區分大小寫的正則表達式工作
- 18. 正則表達式不區分大小寫
- 19. 正則表達式不區分大小寫內聯
- 20. 如何使正則表達式不區分大小寫?
- 21. 正則表達方式不區分大小寫?
- 22. sparql - 正則表達式不會不區分大小寫
- 23. 不區分大小寫的正則表達式
- 24. 強制正則表達式區分大小寫?
- 25. MySQL正則表達式查詢不區分大小寫
- 26. 正則表達式「不開始」C「」不區分大小寫?
- 27. 在Perl中覆蓋區分大小寫的正則表達式
- 28. 不區分大小寫的正則表達式
- 29. JavaScript的正則表達式不區分大小寫
- 30. 正則表達式,不區分大小寫前綴
在執行正則表達式匹配 – 2012-03-11 13:05:58
G [a-bA-B]之前,只需在正則表達式中包含大寫字母和小寫字母或將其轉換爲大寫字母即可。*在這種一般情況下將是明顯的,區分大小寫依賴於平臺,並且您沒有提供平臺。 – 2012-03-11 13:07:56
如果您使用的是Java,則可以使用Pattern類指定它:'Pattern pattern = Pattern.compile(regex,Pattern.CASE_INSENSITIVE);'。 – 2014-08-06 14:06:22