正则表达式 - 关于查找以字母开头的字符串中的每个单词的问题

Regex - question about finding every word in a string that begins with a letter

import re

random_regex = re.compile(r'^\w')
x = random_regex.findall('RoboCop eats baby food. BABY FOOD.')
print(x)

这是我的代码,接下来是 用 Python 自动化无聊的东西。然而,我有点跑题了,想看看我是否能得到一个列表,其中包含传入 random_regex.findall() 的字符串中以单词开头的所有单词,所以我为正则表达式写了 \w图案。但是由于某种原因,我的输出只打印“R”而不打印字符串中的其余字母,谁能解释 why/tell 我如何解决这个问题?

^ 需要字符串的开头,因此它只会找到 RoboCop。使用 \w+ 获取所有字母。您可以在 regex101.com.

测试您的正则表达式
random_regex = re.compile(r'\w+')

x = random_regex.findall('RoboCop eats baby food. BABY FOOD.')

得到x: ['RoboCop', 'eats', 'baby', 'food', 'BABY', 'FOOD']

一个正则表达式查找应该在这里工作:

inp = "RoboCop eats baby food. BABY FOOD."
words = re.findall(r'\w+', inp)
print(words)  # ['RoboCop', 'eats', 'baby', 'food', 'BABY', 'FOOD']
import re
random_regex = re.compile(r'\w+')
x = random_regex.findall('RoboCop eats baby food. BABY FOOD.')
print(x)