[英]Python equivalent to the Tcl's “string match”
我正在尋找與Tcl的字符串匹配操作等效的Python。 具體來說,我想正確處理特殊序列(* 、?和[chars])。
例如,給定三個Python字符串:
expected = 'Foo? Bar* Tar'
actual1 = 'Foo2 Barfluff Tar'
actual2 = 'Foo Bar Tar'
匹配操作match(expected,actual1)
應該返回true,但是match(expected,actual2)
應該返回false。
非常感謝!
您需要fnmatch
模塊 。 盡管re
提供了完整的功能強大的正則表達式,但fnmatch
會執行您要查找的有限的,外殼樣式的通配符匹配。
對於區分大小寫的匹配,它很簡單:
>>> fnmatch.fnmatchcase(actual1, expected)
True
>>> fnmatch.fnmatchcase(actual2, expected)
False
如果要遵循操作系統的區分大小寫規則(即在Windows上不區分大小寫,在大多數其他操作系統上敏感),則可以使用普通的fnmatch.fnmatch
來調用自動區分大小寫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.