Python split with multiple delimiters 不工作

标签 python regex string parsing split

我有一个字符串:

feature.append(freq_and_feature(text, freq))

我想要一个包含字符串中每个单词的列表,例如 [feature, append, freq, and, feature, text, freq],当然每个单词都是一个字符串。

这些字符串包含在一个名为 helper.txt 的文件中,所以我正在执行以下操作,正如多个 SO 帖子所建议的那样,例如这个帖子的已接受答案(Python: Split string with multiple delimiters):

import re
with open("helper.txt", "r") as helper:
    for row in helper:

       print re.split('\' .,()_', row)

但是,我得到以下结果,这不是我想要的。

['    feature.append(freq_pain_feature(text, freq))\n']

最佳答案

re.split('\' .,()_', row)

这将查找要拆分的字符串 ' .,()_。你可能是说

re.split('[\' .,()_]', row)

re.split 将一个正则表达式 作为第一个参数。要在正则表达式中表示“this OR that”,您可以编写 a|b,它将匹配 ab。如果您编写 ab,它只会匹配 a 后跟 b。幸运的是,我们不必编写 '| |.|,|(|...,有一个很好的形式,您可以在其中使用 [] 声明其中的所有内容都应被视为“匹配其中一个”。

关于Python split with multiple delimiters 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36579667/

相关文章:

python - 如何在 Git Bash/WinPTY 下使用 Python3 获得 REPL/箭头键功能和 Unicode 字符

正则表达式 - 不使用混合分隔符的日期格式

regex - 如果正则表达式和字符串都是变量,如何在 perl 中使用正则表达式

c - 反转字符串(理论)

string - 使用 Perl 脚本搜索和删除字符串

python - 保持嵌套字典中的输入顺序

python - 实时远程获取Python的输出

c# - 电子邮件 #2 的正则表达式

c - C语言只打印字符串中以指定字母开头的单词

python - DateTimeField 使用日历输入而不是文本