您在線路開始介紹的空白,以及在一些結尾:
>>> u'\W\s[A-Z]$\
... |(com.|d\.) \
... |\(?adj.\)? \
... |(all\.$) \
... |^(Pays|région|lieu-dit \
... |chef-lieu '
u'\\W\\s[A-Z]$ |(com.|d\\.) |\\(?adj.\\)? |(all\\.$) |^(Pays|r\xe9gion|lieu-dit |chef-lieu '
如果要拆分到多個源代碼行的字符串,使用連續的字符串:
re.findall(u'\W\s[A-Z]$'
u'|(com.|d\.)'
u'|\(?adj.\)?'
u'|(all\.$)'
u'|^(Pays|région|lieu-dit'
u'|chef-lieu|canal|collégiale|ruisseau|bâtiment|hôpital'
u'|roi de|(bailliage|canton)(s?))'
u'|site|afflu(a|e)nt'
u'|forêt|village|église|état(s?)',
sn
)
其中Python會自動在編譯時加入對您:
>>> (u'\W\s[A-Z]$'
... u'|(com.|d\.)'
... u'|\(?adj.\)?'
... u'|(all\.$)'
... u'|^(Pays|région|lieu-dit'
... u'|chef-lieu|canal|collégiale|ruisseau|bâtiment|hôpital'
... u'|roi de|(bailliage|canton)(s?))'
... u'|site|afflu(a|e)nt'
... u'|forêt|village|église|état(s?)')
u'\\W\\s[A-Z]$|(com.|d\\.)|\\(?adj.\\)?|(all\\.$)|^(Pays|r\xe9gion|lieu-dit|chef-lieu|canal|coll\xe9giale|ruisseau|b\xe2timent|h\xf4pital|roi de|(bailliage|canton)(s?))|site|afflu(a|e)nt|for\xeat|village|\xe9glise|\xe9tat(s?)'
或者使用鬆散正則表達式語法:
re.findall(u'''
\W\s[A-Z]$
|(com.|d\.)
|\(?adj.\)?
|(all\.$)
|^(Pays|région|lieu-dit
|chef-lieu|canal|collégiale|ruisseau|bâtiment|hôpital
|roi de|(bailliage|canton)(s?))
|site|afflu(a|e)nt
|forêt|village|église|état(s?)''', su, flags=re.VERBOSE)
的re.VERBOSE
標誌改變分析器忽略所有文字的空白;上述表達式被解析爲好像所有空格,製表符和換行符都不存在。任何#
評論也被剝離,從#
到換行。
非常感謝你,它的作品! – user3241376