[英]is there a regex for parsing a string possible?
请考虑以下字符串:
01500343014501044801
我想解析这个字符串并用它填充6个变量,它们从字符串中的固定长度填充。
而不是做明显的:
string s1 = s.Substring(0, 3);
//...
string s2 = s.Substring(7, 8);
//...
我想知道是否有正则表达式可以做到这一点? 或者.NET框架在C中有类似sscanf的东西吗?
是的,你可以指定块的长度(\\d{5})(\\d{4})(\\d{7})(\\d{4})
将捕获由5,4,7组成的4组和4位数。
尽管对您的问题的评论很明显,但RegEx会更慢。
var myNumber = "01500343014501044801";
var m = Regex.Matches(myNumber, @"\d{3}");
Jamie Zawinski的引文:
有些人在面对问题时会想“我知道,我会使用正则表达式”。 现在他们有两个问题。
使用正则表达式在性能方面成本很高。 因为你没有使用正则表达式提供的任何模式匹配工具,所以我坚持你的情况下的子串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.