0

次の機能を取得するために正規表現を使用することは可能ですか?

text       = "123abcd56EFG"
listWanted = ["123", "abcd", "56", "EFG"]

アイデアは、1 つの数字の後に 1 つの文字が続くか、1 つの文字の後に 1 つの数字が続くたびにテキストをカットすることです。

次の回答による解決策

import re

pattern = r'(\d+|\D+)'

text  = "123abcd56EFG"
print(re.split(pattern, text))

text  = "abcd56EFG"
print(re.split(pattern, text))

このコードは...

['', '123', '', 'abcd', '', '56', '', 'EFG', '']
['', 'abcd', '', '56', '', 'EFG', '']
4

2 に答える 2

0

正規表現として: を使用して分割を行いたいと思うでしょう\d+|\D+

-- 文字列に を作成するには例外シーケンスが必要な\ので、実際に入力されるテキストは次のようになることに注意してください。"\\d+|\\D+"

以下のコメントに記載されているように、未加工の文字列を使用する場合を除きますr"\d+|\D+"r'\d+|\D+'

于 2013-06-04T14:47:43.610 に答える