-1

不特定の長さの数字の後に 15 桁の数字が続きます。

例えば:

(長さ不定の乱数) + 15桁の数字 --> 3 + 15桁の数字

(長さ不定の乱数) + 15桁の数字 --> 32831 + 15桁の数字

(長さ不定の乱数) + 15桁の数字 --> 31 + 15桁の数字

Python で RegEx を使用して、「パート 1」(長さが不明) と最後の 15 桁を「パート 2」としてキャプチャできますか?

4

3 に答える 3

7

必要なのは最後の 15 文字以外のすべてのように思えますが、なぜこの単純なタスクに正規表現を使用するのでしょうか? 文字列の一部を取得するだけです (以前に数値だった場合は、単純に文字列に変換し、これを行ってから元に戻します)。

>>> a = "3123456789123456" #3 + 15 digit number
>>> (a[:-15], a[-15:])
('3', '123456789123456')
>>> a = "32831123456789123456" #32831 + 15 digit number
>>> (a[:-15], a[-15:])
('32831', '123456789123456')
>>> a = "31123456789123456" #31 + 15 digit number
>>> (a[:-15], a[-15:])
('31', '123456789123456')

素敵で簡単。

于 2012-07-28T21:00:35.367 に答える
2

次の正規表現を試してください。

^(\d+)(\d{15})$

説明:

^      Start of string
$      End of string
\d     Any digit
{15}   Repeat 15 times
+      Repeat one or more times.
(...)  Capturing group
于 2012-07-28T20:57:28.617 に答える
2

確かに、 regex を使用する(\d*)(\d{15})か、やり過ぎです(?<!\d)(\d*)(\d{15})(?!\d)

于 2012-07-28T20:58:19.490 に答える