delphi 正则式识别中文死活不出来的问题?

和如 2023-05-06 23:39:48

 

请教一下各位,我用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)$

 

...全文
199 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tanqth 2023-05-08
  • 打赏
  • 举报
回复

img


能等到位置索引,长度。你再根据这两个数据去取出来。

和如 2023-05-08
  • 举报
回复
@tanqth 晚点我试试,谢谢帮助
和如 2023-05-07
  • 打赏
  • 举报
回复
问题是弄了很久,都没提出来汉字,{2,4}我理解的是匹配字符的长度,最少2个,最多4个点意思,难道理解错了😣
tanqth 2023-05-08
  • 举报
回复
@和如 2是一个汉字,4是2个汉字,可以出来的哈。
tanqth 2023-05-07
  • 打赏
  • 举报
回复

你的第一段,是可以判断出汉字的,但不能去判断是不是姓名。

tanqth 2023-05-07
  • 打赏
  • 举报
回复

你说的“所有2-4的中文姓名”是什么意思?取2-4个汉字??取第2位到第4位出现的汉字?

5,557

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧