2010-12-10 14 views
1

Benötigen Sie eine beliebige Zeichenfolge übereinstimmen endet mit einem Buchstaben, und der zweite letzte Zeichen ‚>‘Python regulären Ausdruck Hilfe

Es entsprechen:

abc>a 
ddd_4>f 

Es wird nicht übereinstimmen:

abc>ab 
abc>2 

Antwort

3
>>> import re 
>>> s = 'abc>a' 
>>> r = re.compile(r'>[:alpha:]$') 
>>> print(r.search(s)) 
<_sre.SRE_Match object at 0xb76c5a30> 
>>> 

Wenn Sie Buchstaben nach Gebietsschemas übereinstimmen möchten.

+1

+1 für die Internationalisierung. –

1
re.compile(r'.*>[a-zA-Z]$') 

sollte das Muster, das Sie wollen, generieren.

Ich empfehle jedoch, dass Sie die regexp part von Google's Python class lesen. Dann können Sie lernen, wie Sie selbst solche Dinge tun können.

0

.*>[a-zA-Z]$

>>> for s in ('abc>a', 'ddd_4>f', 'abc>ab', 'abc>2'): 
...  print re.match(r'.*>[a-zA-Z]$', s) 
... 
<_sre.SRE_Match object at 0xb7217e58> 
<_sre.SRE_Match object at 0xb7217e58> 
None 
None 
0

Ich denke, das ist das, was Sie suchen:

import re 
re.search(">[a-zA-Z]$", str) 

Es zu None bewerten wird, wenn die Zeichenfolge nicht übereinstimmt.

Verwandte Themen