C
cmd9x
Unregistered / Unconfirmed
GUEST, unregistred user!
现在涉及到字符分割问题,想采用正则表达式来处理,将一个字符串分割成多个记录,记录定义为:TRec = record
RecType:Char;
SplitChr:Char;
Content:string;
end;
规定了以冒号(":")为分隔符,以分号(";")为结束符,在Content里包含以上两种符号时加上斜杠("/")作为转义符号,现有如下示例:
Str := '1:99;2:abcd;3:Say/:Hello;4:分号"/;"';
需要用正则式解析出以下结果:
1 99
2 abcd
3 Say:Hello
4 分号";"
这个正则式不会写啊,只知道匹配前两个字段时用[/d]:或者[0-9]:,关于最后那个分号也简单,用个?;就行了,中间的Content字段如果里面没有自定义的转义符也好办,用个[/w*]就成了,现在被卡在这里了.
那位仁兄对此有经验,还望帮帮忙,先谢一个了.
RecType:Char;
SplitChr:Char;
Content:string;
end;
规定了以冒号(":")为分隔符,以分号(";")为结束符,在Content里包含以上两种符号时加上斜杠("/")作为转义符号,现有如下示例:
Str := '1:99;2:abcd;3:Say/:Hello;4:分号"/;"';
需要用正则式解析出以下结果:
1 99
2 abcd
3 Say:Hello
4 分号";"
这个正则式不会写啊,只知道匹配前两个字段时用[/d]:或者[0-9]:,关于最后那个分号也简单,用个?;就行了,中间的Content字段如果里面没有自定义的转义符也好办,用个[/w*]就成了,现在被卡在这里了.
那位仁兄对此有经验,还望帮帮忙,先谢一个了.