c# - 正则表达式捕获带有目标短语的句子

标签 c# regex string

我正在使用 C# 来查找博客文章中可能存在或不存在的短语。我需要捕获包含目标短语的整个句子。

我考虑过使用 string.contains 方法,但是当我想要的只是目标短语及其包含的句子时,这会返回整个博客文章。

示例:

I dont want this sentence. I also don't want this setence. But I do want this sentence.

所以这里的目标短语是:“我愿意”,正则表达式应该返回整个包含句子“但是我确实想要这个句子。”

谢谢。 亚伦

最佳答案

这个正则表达式:

resultString = Regex.Match(subjectString, @"(?<=^|\.)[^.]*?(?=\bI do\b).*(\.|$)").Value;

当应用于您的输入时:

I dont want this sentence. I also don't want this setence. But I do want this sentence.

返回:

But I do want this sentence.

如果您担心多行,请打开 RegexOptions.Singleline。

关于c# - 正则表达式捕获带有目标短语的句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7897681/

相关文章:

java - 给定一个字符串,找出它是否满足IPv4地址命名规则(代码审查)而不是寻找其他解决方案

android - 如何 swift 检查非法字符。 (适用于Windows,Android和IOS的非法字符)

Python 3.x C API : Do I have to free the memory after extracting a string from a PyObject?

c# - 从文件上传中获取完整路径

c# - 用户输入到一个二维数组

c# - 使用 c# NAudio 将 WAV 转换为 M4A

c# - 遍历控件时如何设置Dropdownlist特定属性?

javascript - 为什么我的 switch 语句不匹配任何大小写?

regex - 我如何替换在 linux 中特定文件夹中找到的所有电子邮件地址

r - 匹配单词串并返回不匹配的单词