Java 判断字符串是否包含中文正则表达式

注意:Java的字符串要先对\做转义……

其次是因为matcher.matches()没用对。这个方法等同于自动在pattern的前后加上^和$,显然这个字符串超过了长度1,所以匹配失败了。用matcher.find()或者matcher.lookingAt()都可以。

 代码如下 复制代码

public static boolean isContainChinese(String str) {
 
  Pattern p=Pattern.compile("[u4e00-u9fa5]");
  Matcher m=p.matcher(str);
  if(m.find())
  {
   return true;
  }
  return false;
 }

例2

 代码如下 复制代码

package wenhq.com.cn;   
import java.util.regex.Matcher;  
import java.util.regex.Pattern;  
public class test {  
    static String regEx = "[u4e00-u9fa5]";   
    static Pattern pat = Pattern.compile(regEx);  
  public static void main(String[] args) {  
      String input = "亲亲宝宝-http://www.111cn.net";
      System.out.println(isContainsChinese(input));     
      input = "http://www.111cn.net";
      System.out.println(isContainsChinese(input));     
    }  
   public static boolean isContainsChinese(String str)     
    {    
        Matcher matcher = pat.matcher(str);     
        boolean flg = false;  
        if (matcher.find())    {    
            flg = true;   
        }     
        return flg;     
    }  
 
}  

时间: 2024-08-28 21:51:17

Java 判断字符串是否包含中文正则表达式的相关文章

Lua判断字符串中包含中文字符的方法和计算字符串宽度函数分享_Lua

一.判断字符串中包含中文字符的方法 遍历数组,对每个字节使用string.byte(),发现有大于127的,就是汉字,可以参照下面的代码. 二.计算字符串宽度函数 复制代码 代码如下: -- 计算字符串宽度   local str = "Jimmy: 你好,世界!" local fontSize = 20 local lenInByte = #str local width = 0   for i=1,lenInByte do     local curByte = string.by

Java判断字符串中是否包含中文方法_java

今天和同事在讨论一个问题,需要检查"输入的字符串中是否包含中文",刚开始想到是用正则表达式,正则表达式中是以[u4e00-u9fa5]来全匹配字符是否是中文,但现在面临的问题是这个字符串中还可能包含英文字符.数字.特殊字符,一时也没想出能匹配该场景的正则表达式,后来在网上搜了下,可以使用Matcher类来解决该问题,大致的代码实现如下: import java.util.regex.Matcher; import java.util.regex.Pattern; public clas

php使用正则表达式判断 字符串只能包含 中英文,数字,还有‘-’,‘_’,求这个正则表达式。

问题描述 php使用正则表达式判断 字符串只能包含 中英文,数字,还有'-','_',求这个正则表达式. php使用正则表达式判断 字符串只能包含 中英文,数字,还有'-','_',求这个正则表达式. 解决方案 [u4e00-u9fa5a-zA-Z0-9-_]+ 解决方案二: [-u4e00-u9fa5w]+ 解决方案三: 中文必须是UTF-8的,GBK的中文不兼容 preg_match( '/[x{4e00}-x{9fa5}w-]+/u', $subject, $arr); 解决方案四: 答案

使用正则表达式判断 字符串只能包含 中英文,数字,还有‘-’,‘_’,求这个正则表达式。

问题描述 使用正则表达式判断 字符串只能包含 中英文,数字,还有'-','_',求这个正则表达式. 使用正则表达式判断 字符串只能包含 中英文,数字,还有'-','_',求这个正则表达式. 解决方案 ^[-u4e00-u9fa5w]+$ new RegExp("^[-u4e00-u9fa5w]+$"); 解决方案二: u4e00-u9fa5 表示汉字 w 表示英文,数字,下划线 [-u4e00-u9fa5w]+ 解决方案三: PHP中正则判断如下 /^[x{4e00}-x{9fa5}w

java实现检测是否字符串中包含中文_java

代码非常实用,这里就不错废话,直接奉上 主要功能是实现判断字符串是否包含汉字 并且替换成ASCLL private static String regEx = "[\\u4e00-\\u9fa5]"; /** * 判断字符串是否包含汉字 并且替换成ASCLL * * @param str_para * @return str_result */ private static String isChinese_Replace( String str_para ) { Pattern p

c#判断字符串是否是中文问题

问题描述 publicboolCheckChinese(stringstr){boolflag=false;UnicodeEncodinga=newUnicodeEncoding();byte[]b=a.GetBytes(str);for(inti=0;i<b.Length;i++){i++;if(b[i]!=0){flag=true;}else{flag=false;}}returnflag;}这段代码为什么能实现判断是否为中文,求详细解释,可以加分,详细.. 解决方案 解决方案二:你找个字符

java判断字符串是否有逗号的方法_java

如下所示: if(str.indexOf(",") >= 0) System.out.println("字符串中有逗号"); 以上这篇java判断字符串是否有逗号的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持. 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索js判断字符串含有逗号.js判断字符串包含逗号.java逗号分割字符串.java以逗号分割字符串.

java判断字符串是否为数字的方法小结_java

本文实例总结了java判断字符串是否为数字的方法.分享给大家供大家参考,具体如下: 方法一:用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = str.length();--i>=0;){ if (!Character.isDigit(str.charAt(i))){ return false; } } return true; } 方法二:用正则表达式 public static boolean isNume

python判断字符串是否包含子字符串的方法

 这篇文章主要介绍了python判断字符串是否包含子字符串的方法,实例分析了Python中的in与find方法来实现这一功能,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了python判断字符串是否包含子字符串的方法.分享给大家供大家参考.具体如下: python的string对象没有contains方法,不用使用string.contains的方法判断是否包含子字符串,但是python有更简单的方法来替换contains函数. 方法1:使用 in 方法实现contains的功能