正则表达式“或”表达式
本文关键字:表达式 正则表达式 | 更新日期: 2023-09-27 18:36:16
这可能是一个非常基本的问题,但我找不到任何答案。我需要用两个或多个空格或等号匹配字符串。
当我拆分此字符串时: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+?(?='()"
(=)|( +)
这对你有好处吗?
解释和示例:http://msdn.microsoft.com/en-us/library/ze12yx1d.aspx,向下滚动到第三条评论...
你可以像这样使用正则表达式: [= ]+
var regex = new Regex("[= ]+");
var parts = regex.Split("this is=a test");
// parts = [ "this", "is", "a", "test" ]
如果要保留分隔符将正则表达式括在参数中:([= ]+)