c# - 使用正则表达式从字符串中获取子字符串

标签 c# regex split

我正在尝试使用 RegEx 从一个大字符串中获取子字符串。 子字符串的格式如下:

  • 以数字 00-99 开头,后跟一个等号 =。
  • 可能包含至少一个字符。任何角色。
  • 以下划线“_”结尾。

示例子字符串:

01=#010.0000#001.0000#+10.0#AA_
02=#020.0000#002.0000#+20.0#BB_

完整字符串示例:

01=#010.0000#001.0000#+10.0#AA_02=#020.0000#002.0000#+20.0#BB_

我试过这个表达式,但它得到了完整的字符串。

^\d{2}=.+_$

我错过了一些东西。有什么帮助吗?

最佳答案

你可以使用

\d{2}=.*?_(?=\d{2}=|$)

参见 regex demo

您也可以在匹配 (?<!\d) 之前不需要数字负面回顾:

(?<!\d)\d{2}=.*?_(?=\d{2}=|$)

\d{2}=.*?_(?=\d{2}=|$)模式匹配 2 个数字,= ,然后是除换行符以外的任何 0+ 个字符,尽可能少,直到第一个 _有两个数字和 =在它之后或在字符串的末尾。

关于c# - 使用正则表达式从字符串中获取子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53558737/

相关文章:

java - 正则表达式在双引号上分割字符串仅保留引号之间的内容

java - android递归分割字符串异常

c# - 如何从表单中删除调整大小指示器(右下角的灰线)?

ruby-on-rails - 正则表达式在第一次检查后不检查第一个字符

regex - 仅一个字符的正则表达式

ios - 在 NSDictionary 中获取键和值对的字符串中隐藏换行符

c# - Xamarin.Forms:在饼图布局中放置标签

c# - MVC4 使用什么加密?

c# - Autofac - 单实例 HttpClient

java - 在 Java 中存储提取的 POS 标签文本所需的数据结构