python - Find strings from text same pattern as given words -


here words

'x201i' 'b-442n-5' '00.55005.001' ... 

i want write python script learn pattern given words. fixed length, same special character @ same position, same type(digit or letter) @ same position.

so can find out similar strings like

'b304d'  => 'letter|number|number|number|letter' 'e-472n-5' =>'letter|-|number|number|number|letter|-|number' 

any suggestion or hints?

you need define 2 seperate patterns matching both type of formats.

r'^(?:[a-za-z]\d{3}[a-za-z]|[a-za-z]-\d{3}[a-za-z]-\d)$' 

example:

>>> import re >>> s = ['x201i', 'b-442n-5', '00.55005.001'] >>> [i in s if re.match(r'^(?:[a-za-z]\d{3}[a-za-z]|[a-za-z]-\d{3}[a-za-z]-\d)$', i)] ['x201i', 'b-442n-5'] 

[a-za-z] matches letter , \d matches digit.


Comments

Popular posts from this blog

Magento/PHP - Get phones on all members in a customer group -

php - .htaccess mod_rewrite for dynamic url which has domain names -

Website Login Issue developed in magento -