只有当分隔符中还有换行符时,我才try 捕获两个分隔符之间的文本.例如,如果我们有下面的文本.

Organisation Name <<me.company.name>>
ABN/ACN <<me.company.abn>>
Contact Name <<me.name>>
<<me.PhoneNumber

Another line>>
Email <<me.emailAddress>>

我只想退还&lt&书信telegram ;我电话号码\n\n'另一行&gt&gt;

\n可以在任何地方-基本上只有在&lt&lt&gt&gt;忽略所有其他&lt&lt&gt&gt;

到目前为止,我的模式是&lt&书信telegram ;(.?\n)*?&gt&gt;但这抓住了一切&lt&lt&gt&gt;(我用的是C#)

下面是我try 过的一个例子

非常感谢你的帮助

推荐答案

你可以用

<<((?:(?!<<|>>).)*?\n(?s:.)*?)>>

regex demo.Details:

  • <<-<<字符串
  • ((?:(?!<<|>>).)*?\n(?s:.)*?) - Group 1:
    • (?:(?!<<|>>).)*?-任何不以>><<字符序列开头的零个或多个字符(换行字符除外),尽可能少
    • \n-一个半字符
    • (?s:.)*?-任何零个或更多字符(包括换行符),尽可能少
  • >>->>字符串

.net相关问答推荐

使用.NET 8时无法识别运行标识符

如何在AutoMapper中添加自定义方法到项目中?

Azure SignalR 和微服务

在 Invoke() 中运行时,跨线程操作对表单控件无效 - .NET

FileHelpers 未使用正确的日期格式

如何在 .net MAUI 中删除不需要编译的平台?

如何判断属性设置器是否公开

如何以编程方式 Select ListView 中的项目?

如何将自定义 UserControl 显示为对话框?

有没有办法只在 C# 中设置一次属性

在 .NET (C#) 中本地存储数据的最佳方式

System.Speech.Recognition 和 Microsoft.Speech.Recognition 有什么区别?

有没有像样的 C# 分析器?

如何仅在需要时提升权限?

beforefieldinit 标志有什么作用?

我应该如何删除 DbSet 中的所有元素?

使用 lambda 表达式代替 IComparer 参数

.NET 委托类型的正确命名约定?

从字节数组中读取 C# 中的 C/C++ 数据 struct

如何判断枚举是否包含数字?