比方說,我有一個字符串,我想檢查這個字符串的很多條件。例如:檢查字符串的條件
- 這是大小的X
- 沒有空格
- 最後一個字母是一個數字字符
所有條件1-3 這是可以做到在一個函數中的常規標準方式(如果這和那個')
但是...我會怎麼做在一個良好的Python風格的方式嗎?
比方說,我有一個字符串,我想檢查這個字符串的很多條件。例如:檢查字符串的條件
所有條件1-3 這是可以做到在一個函數中的常規標準方式(如果這和那個')
但是...我會怎麼做在一個良好的Python風格的方式嗎?
它可能比它的價值更復雜,但您可以使用正則表達式檢查所有這些條件。
例如,如果你想要的大小爲8個字符,你可以使用下面的檢查所有三個條件:
if re.match(r'\S{7}\d$', text):
print 'all conditions match'
試着這麼做
import re
def test(s):
return len(s)>=x and re.match("^\S*\d$", s)
這將測試是否串長度至少爲x
,它是一系列非空格字符,最後是數字字符。
一種方法是使用正則表達式(假設爲10 x
):
if re.match(r"\S{10}(?<=\d)$", mystring):
# Success!
在一個長度關閉。 –
@PaulBekingham:不,它不是。你知道周圍的斷言嗎? –
10 +數字,所以你的例子是11,而不是10. –
當然,還有其他的方式來這樣做,但我認爲任何事情都不會像「如果這件事等等」那樣清楚。 – mgilson
只需使用正則表達式'\ S {x-1} \ d $',(用實際數字替換x-1) – NullUserException
現在您有2個問題。 – mayhewr