XXXX|YYY|ZZZZ
分割要求:
按“|”进行分割,XXXX,YYY,ZZZZ为任意字符串(任意长度,不含“|”)。
得到的数据为:
XXXX
YYY
ZZZZ
请问正则表达式怎么写?
12 个解决方案
#1
[^|]*?[|]?
#2
[^|]*?[|]?
#3
string test = "XXXX|YYY|ZZZZ";
string[] result = Regex.Split(test, "[|]");
result.ToList().ForEach(x => Console.WriteLine(x));
#4
为啥不用split?
#5
+1
#6
"XXXX|YYY|ZZZZ".Split('|')
#7
直接使用split('|')不是更简单嘛
#8
简单问题复杂化
#9
++
#10
正则是不会帮你做字符串分割操作的,正则的作用就是匹配符合的字符串而已。
但是你这个可以用正则匹配出 所有 | 前后的字符串。
但是你这个可以用正则匹配出 所有 | 前后的字符串。
#11
+1
#12
因为我的这个正则表达式是动态构造出来的,我要进行分组匹配,用SPLIT只能分成数组,分后还要逐个匹配属于哪个表达式组,用正则既能分又能匹配,比较方便。
#1
[^|]*?[|]?
#2
[^|]*?[|]?
#3
string test = "XXXX|YYY|ZZZZ";
string[] result = Regex.Split(test, "[|]");
result.ToList().ForEach(x => Console.WriteLine(x));
#4
为啥不用split?
#5
+1
#6
"XXXX|YYY|ZZZZ".Split('|')
#7
直接使用split('|')不是更简单嘛
#8
简单问题复杂化
#9
++
#10
正则是不会帮你做字符串分割操作的,正则的作用就是匹配符合的字符串而已。
但是你这个可以用正则匹配出 所有 | 前后的字符串。
但是你这个可以用正则匹配出 所有 | 前后的字符串。
#11
+1
#12
因为我的这个正则表达式是动态构造出来的,我要进行分组匹配,用SPLIT只能分成数组,分后还要逐个匹配属于哪个表达式组,用正则既能分又能匹配,比较方便。