我将代码拼写检查器用于VS Code。我想在显示“更严重”问题的“问题”面板(标准键盘绑定Ctrl+ Shift+ M)中禁用拼写检查器警告/错误。
通常,拼写检查器错误太多,我不得不向下滚动到“真正的”问题:-)
我想在没有空格的情况下捕获围绕单词x的n个单词.我需要每个单词的捕获组.我可以通过以下方式实现这一点(这里是x之后的单词):
import regex
n = 2
x = 'beef tomato chicken trump Madonna'
right_word = '\s+(\S+)'
regex_right = r'^\S*{}\s*'.format(n*right_word)
m_right = regex.search(regex_right, x)
print(m_right.groups())
Run Code Online (Sandbox Code Playgroud)
所以,如果x ='牛肉番茄鸡王牌麦当娜',n = 2,regex_right = '^\S*\s+(\S+)\s+(\S+)\s*'我得到两个含有'番茄'和'鸡'的捕获组.但是,如果n = 5,我没有捕获任何不是我正在寻找的行为.对于n = 5,我想捕获'牛肉'权利的所有单词.
我尝试过使用贪心量词
regex_right = r'^\S*(\s+\S+){,n}\s*'
Run Code Online (Sandbox Code Playgroud)
但是我只得到一个组(最后一个字),无论我得到多少匹配(此外我也得到了白色空间......).
我终于尝试使用regex.findall,但我不能将它限制为n个单词,但必须指定字符数?
有人可以帮忙吗?
Wiktor帮助我(见下文)谢谢.但是我还有一个问题
如果x ='牛肉,番茄,鸡肉,特朗普麦当娜'我不知道怎么捕捉没有逗号?我不希望团体成为'番茄'