C# 不后跟其他字符时按字符分割正则表达式
如果后面没有C# 不后跟其他字符时按字符分割正则表达式,c#,regex,C#,Regex,如果后面没有CMB 示例 测试数据 abcd-sdfsdf-cmb sdfsdf-cmb 预期产量 abcd sdfsdf-cmb abcd-cmb sdfsdf 到目前为止我拥有的 Regex.Split(operation, @"-+") 返回 abcd sdfsdf cmb abcd cmb sdfsdf 笔记 上面只返回了-上的拆分,但是我不确定如何展望CMB您可以使用这个基于负前瞻的正则表达式: Regex.Split(operation, @"-(?!
CMB
示例
测试数据
abcd-sdfsdf-cmb
sdfsdf-cmb
预期产量
abcd
sdfsdf-cmb
abcd-cmb
sdfsdf
到目前为止我拥有的
Regex.Split(operation, @"-+")
返回
abcd
sdfsdf
cmb
abcd
cmb
sdfsdf
笔记
上面只返回了
-
上的拆分,但是我不确定如何展望CMB
您可以使用这个基于负前瞻的正则表达式:
Regex.Split(operation, @"-(?!cmb)")
(?!cmb)
是一种消极的前瞻,这意味着只有当它后面没有cmb
时,才匹配-
,您可以使用它来实现这一点
Regex.Split(operation, @"-(?!(?i:cmb))")
前瞻断言字符串中紧跟在
-
后面的不是“CMB”。内联修饰符(?i:…)
用于以不区分大小写的方式匹配子字符串。我在正则表达式中没有看到任何与CMB
相关的内容。。看起来你发布了一个随机的正则表达式,只是想说这是我所知道的,特里迪不知道怎么做,真是不幸