用正则表达式将字符串拆分为单词

时间:2018-05-23 21:31:40

标签: python regex

如何将带有正则表达式的字符串拆分为不超过3个字符的字符,如:

输入

"ads1323z123123c123123890sdfakslk123klaad,313ks"

输出

['ads', 'z', 'c', 'ks']

2 个答案:

答案 0 :(得分:0)

您可以使用return new Promise(function (resolve, reject) { // ... // }).catch(function (error) { console.log("error: " + error); throw error; // cascade it });

re.split

输出:

import re
s = "ads1323z123123c123123890sdfakslk123klaad,313ks"
results = list(filter(lambda x:len(x) <= 3, re.split('[^a-zA-Z]+', s)))

答案 1 :(得分:0)

你也可以使用lookahead和lookbehind表达式来匹配3个字符的单词:

import re
s = "ads1323z123123c123123890sdfakslk123klaad,313ks"
re.findall('(?<![a-zA-Z])[a-zA-Z]{1,3}(?![a-zA-Z])', s)

输出:

['ads', 'z', 'c', 'ks']

正则表达式的工作方式如下:中间部分[a-zA-Z]{1,3}表示&#34;匹配1到3个字母字符&#34;。第一部分(?<![a-z][A-Z])是一个负面的lookbehind断言,断言3个字母字符前面没有字母字符。最后一部分(?![a-zA-Z])是一个负前瞻断言,断言3个字母字符后面没有字母字符。