我正在尝试从新闻文章中提取标题。问题是新闻网站通常会在标题后附加一个连字符和他们的公司名称,所以我试图创建一个正则表达式来匹配空格、连字符、空格及其后面的所有内容。例如:
“我的世界 - Xbox 360 版” future 混搭包和 Xbox One 更新已发布 - 国家视频游戏新闻
匹配
- 国家视频游戏新闻
我想让正则表达式匹配空格+连字符+空格及其后的所有内容,前提是其后的所有内容最多包含 4 个以大写字母开头的单词。我尝试使用否定前瞻来排除以小写字母开头的单词:
\s-\s(?!([a-z]+\s){3,}[a-z]+).*
但它匹配空格、第一个连字符及其后面的所有内容:
- Xbox 360 版的 future 混搭包和 Xbox One 更新已发布 - 国家视频游戏新闻
我不知道该怎么办,有人可以帮忙吗?
最佳答案
为什么不直接以正常方式编写而不使用负前瞻?
\s-(\s[A-Z][a-z]+){0,4}$
关于c# - 使用正则表达式匹配连字符后的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20941759/