[英]Splitting complicated string with regex
我对正则表达式非常了解,这一点对我来说太难了。 我需要将字符串分成三部分。
我的输入看起来像这样XXX YYY:ZZZ:
总是以:ZZZ:
结尾)
$&+,:;=?@#|'<>.-^*()%!
和空格 .
还是根本不在那里 :
在字符串的末尾 我能想到的最棘手的字符串是Lo-rem ip sum.,::0001678154:
ZZZ
为0001678154
我们可以摆脱:ZZZ:
0001678154
所以剩余部分是Lo-rem ip sum.,:
但最后一个字符不是字母数字或.
因此,表示此字符串中不包括YYY XXX
就是剩下的值( Lo-rem ip sum.,:
现在,我有了具有硬编码长度,if,子字符串和拆分的可怕的半功能代码,我相信您可以提供更好的解决方案。 谢谢
下面的正则表达式将捕获三组字符并将其存储到三个独立的组中,
^(?<xxx>.*?)(?<yyy>(?:[A-Za-z0-9])+\.?)?:(?<zzz>\d+):$
?
在第二组之后将使该组成为可选。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.