数字の後ろに「#」文字(その文字列に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])
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を使用している場合、なぜ '__future__ import print_function'を使用していますか? – MattDMo