纠错py分割正则表达式

我想通过如下代码



import re
str1='明日科技公司 扎克伯格公司 盖茨公司'
pattern=r'\w+公司'
list1=re.split(pattern,str1) #用汉字和公司或“公司”分割字符串
print('公司有:')
for item in list1:
    if item !='':   #输出不为空的元素    
        print(item) #输出每个公司的名称

输出

公司有:
明日科技
扎克伯格
盖茨

却只能输出

公司有:

为什么呢?请求纠错

改成 pattern=r'(\w+)公司 '


import re

str1 = '明日科技公司 扎克伯格公司 盖茨公司'
pattern = '\s'
list1 = re.split(pattern, str1)  # 用汉字和公司或“公司”分割字符串
print('公司有:')
for item in list1:
    if item != '':  # 输出不为空的元素
        print(item)  # 输出每个公司的名称

修改第4、10行~

import re

str1 = '明日科技公司 扎克伯格公司 盖茨公司'
pattern = r'(\w+)公司'
list1 = re.split(pattern,str1)  # 用汉字和公司或“公司”分割字符串
print('公司有:')

print(len(list1))
for item in list1:
    if item != ' ':  # 输出不为空的元素
        print(item)  # 输出每个公司的名称

import re

    str1 = '明日科技公司 扎克伯格公司 盖茨公司'
    data_name=re.split(' ',str1)
    print(f'公司有:')
    for name in data_name:
        print(name.replace('公司',''))

采纳哦


str1 = '明日科技公司 扎克伯格公司 盖茨公司'
    data_name=re.findall('(\S+)公司',str1)
    print(data_name)
    print(f'公司有:')
    for name in data_name:
        print(name)