zoukankan      html  css  js  c++  java
  • 【转】Delphi中正则表达式支持中文的写法

    最近在使用Delphi XE编写程序的过程中,需要统计一个字符串中的英文字母,数字,汉字以及其他字符;在网上找了很久关于用Pascal语言提取中文汉字的方法,发现都不能很好的实现,于是经本人亲测有效,发现了使用Delphi XE自带的一个正则表达式控件可以实现这一功能。下面就正则表达式提取汉字做一点说明,希望能帮到大家(如果写的不好,还请多多包涵,谢谢!)

    在DelphiXE中有一个自带的关于正则表达式的单元:RegularExpressions,在这个单元中有TRegEx类可以使用,当我们需要用正则表达式进行判断时可以用:TRegEx.Match()方法进行判断,该方法有两个参数:第一个参数是要进行判断的字符串,第二个参数是所用到的正则表达式;

    注意:正常只能输入汉字的正则表达式为:"^[u4e00-u9fa5]{0,}$"。而 Delphi中需要进行转义, 输入汉字的正则表达式为: “^[x{4E00}-x{9FA5}]+$”或”^[x{4e00}-x{9fa5}]{0,}$”)否则程序运行起来会报错。

    例如:我现在需要判断字符串中的汉字,那么使用TRegEx.Match()进行判断的方法如下:

    if TRegEx.Match(s, sPattern).Success then
    begin

    ...
    end;

    其中:s是需要判断的字符串;sPattern是正则表达式;Success判断是否匹配成功,匹配在成功则执行begin..end之间的代码

    上述用法为本人亲测在Delphi XE中有效!!!

    感谢原文作者:

    原文链接:https://blog.csdn.net/qq_40090395/article/details/107363515

  • 相关阅读:
    bzoj1081 [SCOI2005]超级格雷码
    bzoj3790 神奇项链
    bzoj2822 [AHOI2012]树屋阶梯
    bzoj1485 [HNOI2009]有趣的数列
    bzoj1486 [HNOI2009]最小圈
    bzoj2721 [Violet 5]樱花
    POJ 1238 Substrings
    ZOJ Team Formation
    POJ 1459 Power Network
    POJ 1458 Common Subsequence
  • 原文地址:https://www.cnblogs.com/kinglandsoft/p/15495209.html
Copyright © 2011-2022 走看看