我有一个简单的正则表达式问题:
给定一个像"test-class"
这样的字符串我应该使用什么正则表达式来获取['test','class']
(在python上下文中)
答案 0 :(得分:2)
你不需要正则表达式;只需使用str.split()
:
>>> 'test-class'.split('-')
['test', 'class']
正则表达式解决方案仍有待拆分:
>>> import re
>>> re.split(r'-', 'test-class')
['test', 'class']
答案 1 :(得分:1)
答案 2 :(得分:0)
([a-zA-Z]*)
足以捕获字符串中的每个单词。
答案 3 :(得分:0)
如果您打算使用正则表达式:
简而言之,您定义了一个匹配您想要的东西的正则表达式。然后使用regex.matchall
到字符串,然后返回匹配的部分。
import re
$ s = 'hello-world this 32'
$ results = re.findall(r'[a-zA-Z]*', s)
$ print(results)
['hello', '', 'world', '', 'this', '', '', '', '']
# Now we can filter out the empty results.
$ non_empty_results = [result for result in results if result]
$ print(non_empty_results)
['hello', 'world', 'this']