我试图用Python编写一个简单的正则表达式,该表达式可以识别逗号或换行符,以用作分隔符和split()文本。

我尝试了以下方法:

delim = r'[,\n]'
delim = r'[\n,]'
delim = r',|\n'
delim = r'[,|\n]'
delim = r'(,\n)'


这些都不起作用。如果我只使用split(),则split()可以很好地工作,例如...

delim = r','
delim = r'\n'


但是,如果我尝试两者都做,则不会。

我在这里想念什么?

谢谢您的意见。

整个代码:

    data = "abc,def\nghi"
    delim = r'[,\n]'
    values = data.split(delim)
    print(values)

最佳答案

您正在使用str.split(),它不使用正则表达式作为参数。

尝试在正则表达式字符串上使用re.compile,然后将该对象用于拆分:

import re

data = "abc,def\nghi"
delim = re.compile(r'[,\n]')
values = delim.split(data)
print(values)


产量:

['abc', 'def', 'ghi']

关于python - Python正则表达式简单或条件不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35088190/

10-10 16:07