我想打印後跟'#'字符的數字(需要在該字符串中打印32)。將字符串拆分爲特殊字符
from __future__ import print_function
import re
b = '3rd-libraries #32'
m = re.split(r'[ ](?=#)', b)
print (m)
列表輸出:(!)
['3rd-libraries', '#32']
我想打印後跟'#'字符的數字(需要在該字符串中打印32)。將字符串拆分爲特殊字符
from __future__ import print_function
import re
b = '3rd-libraries #32'
m = re.split(r'[ ](?=#)', b)
print (m)
列表輸出:(!)
['3rd-libraries', '#32']
到哈希後打印出的第一個數字,你可以這樣做:
import re
b = '3rd-libraries #32'
m = re.search(r'#(\d+)', b)
print m.group(1)
這是作品。
from __future__ import print_function
import re
b = '3rd-libraries #32'
m = re.split(r'#', b)
print (m[1])
當您只需要捕獲一個值時,不需要使用拆分。我建議使用正則表達式lookahead。
(?<=#)\d+
實施例:
import re
text = "3rd-libraries #32"
m = re.search(r'(?<=#)\d+', text)
if m:
print m.group()
輸出:
32
爲什麼不'b.split( '#')'? – vaultah
我試圖匹配正則表達式。我已經嘗試過這件事。謝謝! – user6136315
如果你使用Python 3,你爲什麼要用'from __future__ import print_function'? – MattDMo