[英]Regex “or” Expression
这可能是一个非常基本的问题,但我找不到任何答案。 我需要将一个字符串匹配两个或多个空格或等号。
当我分割此字符串时: 9 x 13 = (8.9 x 13.4) (89 x 134)
与( +)
我得到:
part 0: 9 x 13 = (8.9 x 13.4)
part 1: (89 x 134)
当我用(=)
分割时,我得到:
part 0: 9 x 13
part 1: (8.9 x 13.4) (89 x 134)
如何将两者分开? 类似于: (=)OR( +)
编辑: 这不起作用 (=)|( +)
,我期望:
part 0: 9 x 13
part 1: (8.9 x 13.4)
part 2: (89 x 134)
您的正则表达式应该已经工作了,除了它将保留=
之前和之后的空格。 假设您确实在( +)
部分中使用了两个空格( +)
通过SO的格式将其标准化为一个空格)。 这将产生您想要的确切结果:
@" {2,}|\s*=\s*"
只是,
Pattern = "\s*=\s*|(?!\))\s+?(?=\()"
您可以使用如下正则表达式: [= ]+
var regex = new Regex("[= ]+");
var parts = regex.Split("this is=a test");
// parts = [ "this", "is", "a", "test" ]
如果要保留分隔符,请将正则表达式用括号括起来: ([= ]+)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.