Python 正则表达式简单 OR 条件不起作用?



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

我尝试了以下方法:

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

这些都不起作用。如果我只制作一个或另一个,split() 工作正常,例如......

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

但如果我尝试同时做这两件事,那就不行了。

我在这里错过了什么?

感谢您的投入。

整个代码:

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

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

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

import re
data = "abc,defnghi"
delim = re.compile(r'[,n]')
values = delim.split(data)
print(values)

收益 率:

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

这是 bult-in python re module

import re
data = "abc,defnghi"
re.split(",|n", data)
Out[3]: ['abc', 'def', 'ghi']

您可以输入分隔符列表,如下所示 ",||;|随便|随便2"

最新更新