真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java匹配代碼模板,模板匹配的方法

在JAVA中,用正則表達式 匹配指定數(shù)字次數(shù)的代碼怎么寫呢,求助!求助

涉及(統(tǒng)計數(shù)量)這類有語義的就不該用正則了。

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比桃城網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式桃城網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋桃城地區(qū)。費用合理售后完善,十年實體公司更值得信賴。

直接逐個字符過濾反而更快。

按規(guī)則:

1、2、4各最多出現(xiàn)1次或不出現(xiàn);

3最多出現(xiàn)2次以下或不出現(xiàn);

其他符號非法;

設(shè)c計數(shù)

public class Test {

static public boolean validate(String t){

int c[]=new int[4];

for(char ch:t.toCharArray()){

switch(ch){

case '1':case '2':case '3':case '4':

c[ch-'1']++;

if(c[0]1 || c[1]1 || c[3]1 || c[2]2 ) return false;

break;

default:

return false;

}

}

return c[0]=1 c[1]=1 c[2]=2 c[3]=1;

}

static public void main(String argv[]){

String a[]={ "12112","1211","142","1411","133","1321",

"133","1312", "13312", "1362", "1332" };

for(String t:a)

if(validate(t)) System.out.println(t);

}

}

========

142

133

133

1332

========

另你例中有1211,出現(xiàn)有3個1所以不合法。

java中怎么匹配字符串

匹配方式(其中每個方式對應(yīng)RegUtil.java中的一個方法)代碼:

package test;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class RegUtil {

/**

* 方式一:基本正則表達式實現(xiàn)

* @param str

* @param reg

* @return

*/

public static boolean matchMatcher(String str,String reg){

Pattern pattern =Pattern.compile(reg);

Matcher matcher=pattern.matcher(str);

return matcher.matches();

}

/**

* 方式二:利用Pattern自帶實現(xiàn)

* @param str

* @param reg

* @return

*/

public static boolean matchPattern(String str,String reg){

return Pattern.matches(reg, str);

}

/**

* 方式三:String自帶實現(xiàn)

* @param str

* @param reg

* @return

*/

public static boolean matchStr(String str,String reg){

return str.matches(reg);

}

}

對應(yīng)單元測試代碼如下:

package test;

import org.junit.Assert;

import org.junit.Test;

public class TestReg {

@Test

public void testParttern(){

Assert.assertTrue(RegUtil.matchMatcher("123", "http://d+"));

Assert.assertTrue(RegUtil.matchPattern("123", "http://d+"));

Assert.assertTrue(RegUtil.matchStr("123", "http://d+"));

}

}

java正則匹配語句中特定單詞

使用正則表達式的 “零寬度正回顧后發(fā)斷言“這個正則就是匹配以某個指定字符開頭的字段,具體定義你可以去搜索一下,java代碼如下:

String target = "scoreboard objectives setdisplay sidebar R_HT_win";

Pattern pattern = Pattern.compile("(?=scoreboard objectives setdisplay sidebar\\s{1})\\w*");

Matcher matcher = pattern.matcher(target);

String result = null;

if (matcher.find()){

int startIndex = matcher.start();

int endIndex = matcher.end();

result = target.substring(startIndex,endIndex);

}

System.out.println(result);

怎么用java寫一個正則表達式去匹配包含一個或多個“*”的字符串

Pattern pattern = Pattern.compile("^[^\\*]*\\*+.*$");

Matcher matcher = pattern.matcher(你要匹配的字符串);

if(matcher.matches())

{

//TODO:匹配

}

else

{

//TODO:不匹配

}

上面的代碼應(yīng)該可以滿足你的要求,不過你要判斷是否包含一個*。為什么不直接用contains("*") 或者 indexOf("*") 0 呢?呵呵,希望對你有所幫助。

怎樣用java的正則表達式匹配這樣的網(wǎng)址

Java中正則表達式匹配的語法規(guī)則:以下是整理出來的Java下運用正則表達式實現(xiàn)匹配的程序案例,代碼如下:package org.luosijin.test;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * 正則表達式 * @version V5.0 * @author Admin * @date 2015-7-25 */public class Regex { /** * @param args * @author Admin * @date 2015-7-25 */ public static void main(String[] args) { Pattern pattern = Pattern.compile("b*g"); Matcher matcher = pattern.matcher("bbg"); System.out.println(matcher.matches()); System.out.println(pattern.matches("b*g","bbg")); //驗證郵政編碼 System.out.println(pattern.matches("[0-9]{6}", "200038")); System.out.println(pattern.matches("http://d{6}", "200038")); //驗證電話號碼 System.out.println(pattern.matches("[0-9]{3,4}//-?[0-9]+", "02178989799")); getDate("Nov 10,2009"); charReplace(); //驗證身份證:判斷一個字符串是不是身份證號碼,即是否是15或18位數(shù)字。 System.out.println(pattern.matches("^//d{15}|//d{18}$", "123456789009876")); getString("D:/dir1/test.txt"); getChinese("welcome to china,江西奉新,welcome,你!"); validateEmail("luosijin123@163.com"); } /** * 日期提取:提取出月份來 * @param str * @author Admin * @date 2015-7-25 */ public static void getDate(String str){ String regEx="([a-zA-Z]+)|//s+[0-9]{1,2},//s*[0-9]{4}"; Pattern pattern = Pattern.compile(regEx); Matcher matcher = pattern.matcher(str); if(!matcher.find()){ System.out.println("日期格式錯誤!"); return; } System.out.println(matcher.group(1)); //分組的索引值是從1開始的,所以取第一個分組的方法是m.group(1)而不是m.group(0)。 } /** * 字符替換:本實例為將一個字符串中所有包含一個或多個連續(xù)的“a”的地方都替換成“A”。 * * @author Admin * @date 2015-7-25 */ public static void charReplace(){ String regex = "a+"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher("okaaaa LetmeAseeaaa aa booa"); String s = matcher.replaceAll("A"); System.out.println(s); } /** * 字符串提取 * @param str * @author Admin * @date 2015-7-25 */ public static void getString(String str){ String regex = ".+/(.+)$"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(str); if(!matcher.find()){ System.out.println("文件路徑格式不正確!"); return; } System.out.println(matcher.group(1)); } /** * 中文提取 * @param str * @author Admin * @date 2015-7-25 */ public static void getChinese(String str){ String regex = "[//u4E00-//u9FFF]+";//[//u4E00-//u9FFF]為漢字 Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(str); StringBuffer sb = new StringBuffer(); while(matcher.find()){ sb.append(matcher.group()); } System.out.println(sb); } /** * 驗證Email * @param email * @author Admin * @date 2015-7-25 */ public static void validateEmail(String email){ String regex = "[0-9a-zA-Z]+@[0-9a-zA-Z]+//.[0-9a-zA-Z]+"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(email); if(matcher.matches()){ System.out.println("這是合法的Email"); }else{ System.out.println("這是非法的Email"); } }}


標題名稱:java匹配代碼模板,模板匹配的方法
文章起源:http://weahome.cn/article/hosjsg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部