5,284
社区成员




请教一下各位,我用delphi正则式提取memo内的中文姓名,怎么死活匹配不上呢,网上查了很久表中文的表达式是正确的啊!,
目的是提取memo中所有2-4的中文姓名。请知道的大师指导一下,谢谢。
var
matches: TMatchCollection;
pattern:string;
begin
pattern:='[\x{4E00}-\x{9FA5}]{2,4}';
matches:= TRegEx.Matches (memo1.Lines.Text, pattern,[roMultiLine]);
另外本来是希望能提取memo中 中文姓名加 身份证号码的
正则式的身份证号匹配规则这样不知道对不对
^[1-9]\d{5}(((1[89]|20)\d{2}(((0[13578]|1[0-2])(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)(0[1-9]|[12][0-9]|30))|(02(0[1-9]|[1][0-9]|2[0-8]))))|((((1[89]|20)(0[48]|[2468][048]|[13579][26]))|((19|20)00))0229))\d{3}(\d|X|x)$