我有以下代碼根據(jù)下面概述的情況提取給定字符串中的第一組和最后一組數(shù)字。它有效,但似乎不是最佳的:import re# case 1pattern = '\d+\ \d+'string = 'Hello 999 888999'test = re.findall(pattern, string, flags=0)[0].split()print('{0}, {1}'.format(test[0], test[len(test)-1]))# case 2pattern = '\d+\ \d+;\d+ \d+'string = 'How are things 999 888999;222 444'test = re.findall(pattern, string, flags=0)[0].split()print('{0}, {1}'.format(test[0], test[len(test)-1]))# case 3pattern = '\d+\ \d+;\d+ \d+;\d+ \d+'string = 'It is nice 999 888999;222 444;33 55'test = re.findall(pattern, string, flags=0)[0].split()print('{0}, {1}'.format(test[0], test[len(test)-1]))# case 4pattern = '\d+\ \d+;\d+ \d+;\d+ \d+;\d+ \d+'string = 'Please help yourself 999 888999;222 444;33 55;44 6661'test = re.findall(pattern, string, flags=0)[0].split()print('{0}, {1}'.format(test[0], test[len(test)-1]))這4種情況是:任意數(shù)量的單詞后跟數(shù)字后跟空格后跟數(shù)字任意數(shù)量的單詞后跟數(shù)字后跟空格后跟以“;”分隔的數(shù)字 后跟空格后跟數(shù)字任意數(shù)量的單詞后跟數(shù)字后跟空格后跟以“;”分隔的數(shù)字 后跟空格后跟以“;”分隔的數(shù)字 后跟空格后跟數(shù)字等等。關(guān)于如何一口氣做到這一點(diǎn)的任何建議?
帶有“;”的任意數(shù)量的數(shù)字組的正則表達(dá)式 和分組之間的“\s”
寶慕林4294392
2021-06-14 17:19:58