我正在尝试从新闻文章中提取标题。问题是新闻站点通常在标题后附加连字符和公司名称,因此我试图制作一个正则表达式以匹配空格,连字符,空格及其后的所有内容。例如:'Minecraft - Xbox 360 Edition' future mash up packs and Xbox One updates posted - National Video Game News
火柴- National Video Game News
我想让正则表达式匹配空格+连字符+空格及其后的所有内容,前提是它后面的所有内容最多包含4个以大写字母开头的单词。我尝试使用否定前瞻排除以小写字母开头的单词:\s-\s(?!([a-z]+\s){3,}[a-z]+).*
但是它与空格,第一个连字符以及其后的所有内容匹配:- Xbox 360 Edition' future mash up packs and Xbox One updates posted - National Video Game News
我不确定在这里做什么,有人可以帮忙吗?
最佳答案
为什么不以不带负面前瞻的普通方式编写它呢?
\s-(\s[A-Z][a-z]+){0,4}$