3

次のような文字列をトークン化したい:

'my name.is(johnny ,knoxville):'

の中へ:

['my', 'name', '.', 'is', '(johnny ,knoxville)', ':']

お気づきのように、空白はトークンを区切り、英数字以外の文字は英数字とグループ化されません。また、別の例外があり
ます。括弧で囲まれたものはすべてトークン全体として扱われます。

Python RE を使用する必要があるかどうか、私が知らない python モジュールを使用する必要があるかどうか、またはpyparsing

何か案は?

4

1 に答える 1

1

使用できますre.findall

from re import findall

input = 'my name.is(johnny ,knoxville):\nmore\n;'
results = findall(r'(?:[(][^)]*[)])|\w+|\S', input)
print results

結果を生成します。

['my', 'name', '.', 'is', '(johnny ,knoxville)', ':', 'more', ';']
于 2013-08-25T08:54:32.647 に答える