簡體   English   中英

相當於Tcl的“字符串匹配”的Python

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM