2016-05-16 15 views
0

我似乎無法找到一個這樣的例子,但我懷疑正則表達式是複雜的。有沒有一種簡單的方法來獲取Python中某個字符的前一個數字? 字符「A」和字符串: 「&#238A」 它應該返回238A匹配在python中的一個字符之前出現的任何小數

+1

'A'不是十進制字符。你的意思是十六進制嗎? – falsetru

+0

在那個例子中,「特定字符」是什麼?一個?結束報價? –

+0

你是否在意基於它之前的限制匹配呢?只和##後面的數字一樣 –

回答

1

只要你打算包括在所產生的匹配尾隨字符,正則表達式模式來做到這一點很簡單。例如,如果你想捕獲任何一串數字後跟一個字母A,模式將是\d+A

0

如果你在python 3上,試試這個。 欲瞭解更多信息,請參閱this link

import re 
char = "A" # the character you're searching for. 
string = "BA &#238A 123A" # test string. 
regex = "[0-9]+%s" %char # capturing digits([0-9]) which appear more than once(+) followed by a desired character "%s"%char 
compiled_regex = re.compile(regex) # compile the regex 
result = compiled_regex.findall(string) 
print (result) 
>>['238A', '123A'] 
相關問題