java正則漢字
㈠ 用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 求一個正則表達式,比如:第一個漢字固定,第二個漢字不一定,需要把這兩個字變成一個別的字。
String s="你好 你對 你啊";
s=s.replaceAll("你.{1}","hello");
System.out.println(s);
㈢ JAVA正則表達式判斷 只能包含漢字、英文、「_」和數字 ,正則該怎麼寫呢
正則表達式:[\u4e00-\u9fa5]*|\w*|\d*|_*
代碼如下:
@Test
public void test1(){
//匹配正則表達式表達式
String str = "[\u4e00-\u9fa5]*|\w*|\d*|_*";
Pattern pattern = Pattern.compile(str);
//要匹配的字元串
String mStr = "還有多遠_344fjdk";
System.out.println("測試的字元串:"+mStr);
Matcher m = pattern.matcher(mStr);
//如果匹配到了
if(m.find()){
System.out.println("匹配內容:"+m.group());
}
}
程序運行結果:
(3)java正則漢字擴展閱讀
匹配包括下劃線的任何單詞字元。類似但不等價於「[A-Za-z0-9_]」,"單詞"字元使用Unicode字元集,中文的為:[\u4e00-\u9fa5],表示英文字母的為w,表示數字的為d,表示_的為_,而*號表示的則是0個或多個,|表示的則是或,所以把每個要匹配的用|拼接可以表示要匹配的正則表達式。
㈣ java 正則表達式匹配漢字,(比如某個字元串中包含「主管」的話就返回成功)
Stringstring1="主sdf管";
Stringreg=".*[u4e00-u9fff]+.*";
System.out.println(string1.matches(reg));
Stringstring2="sfsdf主管sdfsdf";
Stringreg2=".*u4e3bu7ba1.*";
System.out.println(string2.matches(reg2));
㈤ 這一個java正則表達式,進行漢字驗證。
importjava.util.Scanner;
importjava.util.regex.Pattern;
publicclassTest{
publicstaticvoidmain(String[]args){
Scannercan=newScanner(System.in);
Stringss=can.nextLine();
StringregEx="[u4e00-u9fa5]";
Patternp=Pattern.compile(regEx);
intnum=0;//漢字長度
for(inti=0;i<ss.length();i++){
if(p.matches(regEx,ss.substring(i,i+1))){
num++;
}
}
if(num<2){
System.out.println("輸入的中文不足兩個");
}else{
System.out.println("滿足");
}
}
}
....這回題終於看明白.........
㈥ java中正則表達式 一個字元串中提取特定的漢字
針對本文本直接用 "_blank">(\w+) 就能匹配出來。
如果復雜點,可以判斷 「福田」後面的數
如果能確定 BJ5081XCX —— 總是 9位,並且前後有空格,可以用
"_blank">(\w+)(?=\s\w{9}\s) 進一步約束
㈦ 我想用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 如何用正則表達式去掉漢字
取出每個字元判斷是否符合正則表達式 如果符合則加入StringBuffer 否則丟棄不加入
最後StringBuffer的結果就是去掉漢字的字元串了
㈨ java 正則表達式 怎麼匹配 中文 和數字
java 正則匹配字元為純數字方法:
定義正則表達式為:
String reg="^\\d+$"
獲取要判斷的字元串:
String str;//可以通過Scanner從控制台輸入,也可以用字元串常量進行初始化
調用字元串的matches方法判斷字元串為純數字情況:
str.matches(reg);
如果是純數字返回為true,否則返回為false;