Ⅰ java中string.matcher(regex)如何指定匹配模式, 即要實現和js中的/i/m/g等等的功能
直接寫在正則里,
比如:
(?i)[a-z]
等效於
[a-zA-Z]
[a-z](?i)[a-z]
等效於
[a-z][a-zA-Z]
參考:專http://beinet.cn/Blog/BlogShow.aspx?id=8fe6311d-ea7b-4e81-9fa1-465b593c82c1
第13 正則表達式屬選項
Ⅱ java 如何查找匹配的字元和字元串
你可以自己寫個方法的!
從返回的第一個位置開始substring,同時記住位置。
public int[] getOffset(String str,String s){
int[] arr=new int[str.length];
int j=1;
while(str.indexOf(s)!=-1){
int i=str.indexOf(s);
if(j==1){
arr[j-1]=i;
}else{
arr[j-1]=i+arr[j-2]+1;
}
String st=str.substring(i+1);
System.out.println(st);
str=st;
j++;
System.out.println("j="+j);
}
return arr;
}
public static void main(String[] args) {
String str="abcaabbddab";
StringText st=new StringText();
int[] i=st.getOffset(str, "ab");
for(int j:i){
System.out.println(j);
}
}
Ⅲ Java類庫中String類的match方法用法
糾正抄下,java中用到的是matchs,不是襲match,意思為比較兩個值是否相等。舉例:
String str = "1111111";
String str1 = "1111111";
System.out.println(str.matches(str1));//兩個輸出的值相等,所以是true
String format = "yyyy-MM-dd hh:mm:ss";
String time = "2010-07-13 03:30:50";
System.out.println(time.matches(format));//比較的是值不是類型,所有是false
輸出結果:
Ⅳ java 用字元串模糊匹配另一個字元串
按LS所說的確可以。要是一定要用String的話可以用
String[] s;
for(String ss:s)
if(ss.contains("貿易"))
System.out.println(ss);
這樣內的方法。容
Ⅳ java 字元串與字元串數組匹配問題
for循環遍歷 有就結束 返回個標志唄
String a = "aaa";
boolean flag = false;
for(String s : b){
if( a.equals( s){
flag = true;
break;
}
}
Ⅵ java正則表達式如何獲取分組匹配內容
String str = "我的QQ是:456456我的電話是:0532214我的郵箱是:[email protected]";
// \d 表示0-9 任意一個數字 後面有+號 說明這個0-9單個數位出現一到多次 比如21312314
String reg = "\\d+";
//Pattern是一個正則表達式經編譯後的表現模式。
Pattern pattern = Pattern.compile (reg);
// Matcher 一個Matcher對象是一個狀態機器,它依據Pattern對象做為匹配模式對字元串展開匹配檢查。
Matcher matcher = pattern.matcher (str);
//只有執行了find()方法 後,狀態機matcher才是真正開始進行匹配工作的!
while (matcher.find ())
{
//matcher.group()返回匹配到的子字元串
System.out.println (matcher.group ());
}
}
Ⅶ 請問java高手,如何用String的matches()匹配只有(字母、數字、中文、半形@)的字元串啊感激不盡
packagetestDemo;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;publicclassDemo
{
publicstaticvoidmain(Stringargs[]){//按指定模式在字元串查找
Stringline="1a我@163com";Stringpattern="[a-zA-Z0-9u4E00-u9FA5@]+";
//創建Pattern對象
Patternr=Pattern.compile(pattern);//現在創建matcher對象
Matcherm=r.matcher(line);
if(m.matches()){
System.out.println("inputvlueisOK");
}else{
System.out.println("NOMATCH");
}
}
}
Ⅷ java判斷一個string變數是否為十位數字,求正則表達式和代碼
importjava.util.regex.Pattern;
publicclassTest{
publicstaticvoidmain(String[]args){
//匹配模式,\d代表匹配數字版,{10}代表正好權匹配次數
Stringregex="\d{10}";
System.out.println(Pattern.matches(regex,"9010000000"));
}
}