python pandas findall:虚假的单词和单词

时间:2018-02-15 03:13:58

标签: python regex

以下是一个例子:

se1 = pd.Series(['x whitet-shirtlarge 100% high-quality menshirt'])
se1.str.findall('t-shirt|[a-z]+').str.join(' ')

输出结果为:

x whitet shirtlarge high quality menshirt

我的预期输出是(注意虚线T恤):

x whitet-shirtlarge high quality menshirt

如何实现我的预期输出? 谢谢。

附加说明: 以下表达式将产生非常接近我期望的结果:

se1.str.findall('t-shirt|[a-z\s]').str.join('')

输出:

x whitet-shirtlarge  highquality menshirt

问题是'高' '质量'连接成一个单词

1 个答案:

答案 0 :(得分:1)

你非常接近正确答案。您正在寻找的正则表达式是't-shirt|[a-z-]+'。范围'-'中的短划线'[...]'被视为特殊符号,除非它是括号中的第一个或最后一个字符。