「java汉字匹配」java正则表达式匹配汉字
今天给各位分享java汉字匹配的知识,其中也会对java正则表达式匹配汉字进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、JAVA正则表达式怎么匹配所有中文?
- 2、java输入汉语拼音,输出匹配的汉字!
- 3、java 正则式匹配 只能输入两个汉字中的任何一个
- 4、我想用java正则匹配汉语数字,比如:零、一、二、二十二、三百三十三,等等,有人知道么
- 5、java 正则表达式 怎么匹配 中文 和数字
- 6、用JAVA语言编写正则表达式匹配指定的汉字的方法
JAVA正则表达式怎么匹配所有中文?
/^[\u4e00-\u9fa5]{0,128}$/
/^正则开始 $/正则结束
[/u4e00-/u9fa5] 为中文u码
{0,128} 最少0个,最多128个 你自己可以改
java输入汉语拼音,输出匹配的汉字!
java输入汉语拼音,输出匹配的汉字,不借助客户的选择,匹配完全正确是几乎不可能的,尤其是人名,否则拼音输入法早就演变成无需在输入汉语拼音后还要选字选词的操作方式了。
这个属于自然语言处理的范畴:NLP,暂时还没有看到过java上的相关应用。
但是,可以参考一下拼音输入法,这个需求和输入法很相似啊,不过,现在成熟的输入法都不能够完全做到一次性将拼音和汉字匹配成功,这个很有难度,顶多只是匹配,尽量的匹配。
java 正则式匹配 只能输入两个汉字中的任何一个
下面的代码你可以参考, 是一个匹配后者查找你想要的汉字的几个方法, 应该可以符合你的要求, 如果还有神马不知道的,可以追问.
public static String chineseToUnicode(String oneChinese) {
StringBuffer stringBuffer = new StringBuffer();
char[] chars = oneChinese.toCharArray();
for (int i = 0; i chars.length; i++) {
stringBuffer.append(Integer.toString(chars[i], 16));
}
return stringBuffer.toString();
}
public static void validateChinese(String str, String source) {
StringBuffer stringBuffer = new StringBuffer();
int len = str.length();
for (int i = 0; i len; i++) {
stringBuffer.append("\\u").append(
chineseToUnicode(str.substring(i, i + 1)));
}
String rule = stringBuffer.toString();
System.out.println("要匹配的中文正则表达式为:"+rule);
Pattern p = Pattern.compile(rule);
Matcher m = p.matcher(source);
System.out.println(m.find());
}
public static void main(String[] args) {
String input="you input chinese";
validateChinese(input,"老虎");
validateChinese(input,"狮子");
}
我想用java正则匹配汉语数字,比如:零、一、二、二十二、三百三十三,等等,有人知道么
下面是一个代码你可以看一下,答案就在其中
import java.util.regex.*;
public class Test {
public static void main(String[] args) {
String re0 = "[零一二三四五六七八九十百千]";
String re1 = "\\d+-\\d+-?\\d*-?\\d*|"+re0+"+-"+re0+"+-?"+re0+"*-?"+re0+"*";//存在 3-3(3-3-3、3-3-3-3)
String re2 = "\\d+号|"+re0+"+号";//存在3/三号
String re3 = "\\d+-\\d+-?\\d*-?\\d*号|"+re0+"+-"+re0+"+-?"+re0+"*-?"+re0+"*号";//存在3-33-3(3-3-3、3-3-3-3)号
String re4 = "\\d+号?[栋弄幢楼座]|"+re0+"+号?[栋弄幢楼座]";
String re10 = "[省市乡县村屯区巷街路道]$";//以村等结尾
String str1 = "香港吉祥二十号";
System.out.println(re1);
Pattern pattern = Pattern.compile(re2);
Matcher matcher = pattern.matcher(str1);
boolean rs = matcher.find();
System.out.println(rs);
}
}
java 正则表达式 怎么匹配 中文 和数字
java 正则匹配字符为纯数字方法:
定义正则表达式为:
String reg="^\\d+$"
获取要判断的字符串:
String str;//可以通过Scanner从控制台输入,也可以用字符串常量进行初始化
调用字符串的matches方法判断字符串为纯数字情况:
str.matches(reg);
如果是纯数字返回为true,否则返回为false;
用JAVA语言编写正则表达式匹配指定的汉字的方法
匹配中文字符的正则表达式:
[\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s
??
]*\r
匹配HTML标记的正则表达式:/
(.*)
.*
\/\1
??
(.*)
\/
/
匹配首尾空格的正则表达式:(^\s*)
??(\s*$)
用正则表达式限制只能输入中文:onkeyup=
"value=value.replace(/[^\u4E00-\u9FA5]/g,
'
')
"
onbeforepaste=
"clipboardData.setData(
'text
',clipboardData.getData(
'text
').replace(/[^\u4E00-\u9FA5]/g,
'
'))
"
用正则表达式限制只能输入全角字符:
onkeyup=
"value=value.replace(/[^\uFF00-\uFFFF]/g,
'
')
"
onbeforepaste=
"clipboardData.setData(
'text
',clipboardData.getData(
'text
').replace(/[^\uFF00-\uFFFF]/g,
'
'))
"
关于java汉字匹配和java正则表达式匹配汉字的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-27,除非注明,否则均为
原创文章,转载请注明出处。