我正在尝试使用 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/