首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何获得带引号的句子?

如何获得带引号的句子?
EN

Stack Overflow用户
提问于 2021-02-17 18:27:56
回答 1查看 46关注 0票数 0

我正在尝试使用C++正则表达式从段落中获得正确的句子。

代码语言:javascript
运行
复制
"You are welcome, most noble Sorceress, to the land of the Munchkins." Dorothy listened to this speech "carefully" with wonder.

这就是我正在处理的段落。我想让句子只以大写字母开头,而不是用引号括起来。因此,结果只能是:'Dorothy listened to this speech "carefully" with wonder.'

但我得到的是'Munchkins." Dorothy listened to this speech "carefully" with wonder.',因为Munchkins前面的字母表是大写的,我没有任何想法从这里开始。有谁有主意吗?

下面是我的正则表达式代码。

代码语言:javascript
运行
复制
[^"][A-Z]+[-:?!.,"\s\w]*(?=[!?.])
EN

回答 1

Stack Overflow用户

发布于 2021-02-19 13:00:41

像下面这样的东西对你有用吗?

(?<=^|[".?!] )[A-Z].+?[!?.]

因此,基本上匹配一个大写字母,然后是一串字符,然后是!?.。只有当句子是行首,或者前面有?."!后跟一个空格时,它才应该匹配句子。

  • (?<=^|[".?!] ) -向后看:确保在匹配之前是行首,或者后跟space.
  • [A-Z].+?".?! -匹配大写字母,然后所有字符lazily.
  • [!?.] -匹配句子结束符。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66240064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档