[英]searching string, exclude certain substrings
我正在搜索字符串000295-0000108352@ap.ipaccess.com
獲取108352
,這應該返回true。 但是,如果我搜索它的子字符串,它不應該返回true。 例如,如果我搜索08352
,則缺少1,因此這將是錯誤的。 我該怎么做到這一點?
我這樣搜索:
for item in parse:
if element in item:
其中element
是08352
,parse是列表中的幾個字符串。 這回歸了我不想要的積極因素。
也許我應該尋找一種模式? 在我搜索的每個字符串之后是@
通知,也是在每個字符串為0
。 那么也許是一個正則表達式? 並以某種方式將它加入我的for
和if
?
編輯:如果我在搜索字符串前加“00”並在結尾添加@會怎么樣? 喜歡:
if "00"+access_point_id+"@" in item:
簡單的中綴搜索就足夠了:
found = ("0%s@" % element) in item
像-0+(\\d+)@
這樣的正則表達式更安全:
m = re.search(r"-0+(\d+)@", item)
found = m and m.group(1) == element
如果要查找10位數的字符串,可以在搜索的字符串中添加填充:
>>> '{:0>10}'.format('08352')
'0000008352'
>>> '-{:0>10}@'.format('08352')
'-0000008352@'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.