Python#正则表达式#的问题接收字符串返回列表使用split()函数不能用-^

Python#434
函数main()接收一个字符串,要求返回其中所有单词组成的列表。
例如,main(r'one,two,three,four/five\six?seven[eight]nine|ten')
返回['one','two','three','four','five','six','seven','eight','nine','ten'];

main(r'one1two2three3four4five5six6seven7eight')
返回['one','two','three','four','five','six','seven','eight'];

main(r'one two three four,five.six.seven,eight,nine')
返回['one','two','three','four','five','six','seven','eight','nine',];

要求使用正则表达式模块的split()函数,但不能使用减号字符和尖号字符^
考点:正则表达式,split()函数

import re

def main(text):
     pass

def main(text):
    regEx=re.compile(r'\W|\d+')
    words=regEx.split(text)
    print(words)

以下答案引用自GPT-3大模型,请合理使用:

if __name__ == "__main__": main(sys.argv[1])


import re
re.findall('[a-zA-Z]+',r'one,two,three,four/five\six?seven[eight]nine|ten')


main 你自己定义就好

该回答引用ChatGPT
可以使用以下代码实现:

import re

def main(text):
    return re.split(r'[^\w]+', text)

该代码使用 re.split() 函数将字符串拆分为一系列单词,其中每个单词是一个独立的字符串。正则表达式 r'[^\w]+' 表示匹配一个或多个非字母数字字符,并将这些字符作为分隔符使用。

请注意,返回的列表可能包含空字符串,如果字符串以分隔符开头或结尾,则可能出现此情况。如果需要,您可以使用以下代码过滤这些空字符串:

def main(text):
    return [word for word in re.split(r'[^\w]+', text) if word]