c# - 用换行符提取文本

标签 c# regex

我正在使用这个模式

const string ptnBodytext = @"<p>\s*(.+?)\s*</p>";

为了提取 <p> 中的文本标签。除了那些带有换行符的文本外,它工作正常,例如:

<p>
    Lorem ipsum
    second line or
    third one?
</p>

如何更改模式以包含换行符、制表符等?

最佳答案

您需要激活 dotall 模式或:

const string ptnBodytext = @"<p>([\s\S]+?)</p>";

参见 a demo on regex101.com .

关于c# - 用换行符提取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39099971/

相关文章:

Javascript正则表达式从特定单词中获取数字部分

regex - 在 awk 中使用非精确匹配合并两个文件

regex - 有没有在 bash 中用代字号替换主目录的好方法?

c# - Windows 服务中的无限 while 循环

c# - 在 Json.Net 中反序列化 json 时忽略无效字段

c# - 检索数据库兼容性级别 - 相同服务器/数据库、不同用户的不同结果

c# - 使用 Owin 中间件添加声明

java - "*"在正则表达式中有什么作用?

java - 根据位置提取双引号之间的单词

c# - foreach vs Task.WhenAll() - 执行有什么不同吗?