zoukankan      html  css  js  c++  java
  • 正则匹配中文字符

    原文链接: http://caibaojian.com/zhongwen-regexp.html

    这篇文章主要讲如何使用正则匹配中文字符,中文正则表达式的匹配规则不像其他正则规则一样容易记住,下面一起看看这个中文正则表达式是怎么样的。 w匹配的仅仅是中文,数字,字母,对于国人来讲,仅匹配中文时常会用到,见下

    匹配中文字符的正则表达式: [u4e00-u9fa5]

    或许你也需要匹配双字节字符,中文也是双字节的字符

    匹配双字节字符(包括汉字在内):[^x00-xff]

    注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 更多常用正则表达式匹配规则:

    英文字母:[a-zA-Z]
    
    数字:[0-9]

    匹配中文,英文字母和数字及_:

    ^[u4e00-u9fa5_a-zA-Z0-9]+$

    同时判断输入长度:

    [u4e00-u9fa5_a-zA-Z0-9_]{4,10}
    
    ^[wu4E00-u9FA5uF900-uFA2D]*$

    1、一个正则表达式,只含有汉字、数字、字母、下划线不能以下划线开头和结尾:

    ^(?!_)(?!.*?_$)[a-zA-Z0-9_u4e00-u9fa5]+$

    其中: ^ 与字符串开始的地方匹配

    (?!_)  不能以_开头
    
    (?!.*?_$)  不能以_结尾
    
    [a-zA-Z0-9_u4e00-u9fa5]+  至少一个汉字、数字、字母、下划线

    $  与字符串结束的地方匹配

    放在程序里前面加@,否则需要进行转义 @"^(?!_)(?!.*?_$)[a-zA-Z0-9_u4e00-u9fa5]+$"
    
    (或者:@"^(?!_)w*(?<!_)$" 或者 @" ^[u4E00-u9FA50-9a-zA-Z_]+$ " )

    2、只含有汉字、数字、字母、下划线,下划线位置不限:

    ^[a-zA-Z0-9_u4e00-u9fa5]+$

    3、由数字、26个英文字母或者下划线组成的字符串

    ^w+$

    4、2~4个汉字

    @"^[u4E00-u9FA5]{2,4}$";

    5、

    ^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$

    用:(Abc)+ 来分析: XYZAbcAbcAbcXYZAbcAb

  • 相关阅读:
    Palindrome Partitioning
    Minimum Path Sum
    Maximum Depth of Binary Tree
    Minimum Depth of Binary Tree
    Unique Binary Search Trees II
    Unique Binary Search Trees
    Merge Intervals
    Merge Sorted Array
    Unique Paths II
    C++ Primer Plus 笔记第九章
  • 原文地址:https://www.cnblogs.com/yess/p/15004160.html
Copyright © 2011-2022 走看看