首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

正则 多谢

2012-07-28 
求一个正则 谢谢这种不符合:张江路888碧波大道2952个路之间是数字开头则失败(false)下面返回true:张江路w8

求一个正则 谢谢


这种不符合:

张江路888碧波大道295 2个路之间是数字开头则失败(false)

下面返回true:

张江路w888碧波大道295 true


张江路靠近碧波大道295 true



[解决办法]
A,B 是固定的,那就判断A,B之间的字符串,第一个是不是在0-9之间的字符,应该不难弄。
[解决办法]

Java code
import java.util.regex.Matcher;import java.util.regex.Pattern;public class Test {    public static void main(String[] args) {        String A = "张江路";        String B = "碧波大道";        Pattern p = Pattern.compile(A + "\\d.*" + B);        Matcher m = p.matcher("张江路12p碧波大道295");        while(m.find()){            System.out.println("false");        }    }}
[解决办法]
Java code
        String str = "aaaaa222bbbb";        String A = "aaa";        String B = "bbb";        Pattern p = Pattern.compile((A + "*?" + B));        Matcher m = p.matcher(str);        while(m.find()){            String temp = m.group();            System.out.println(temp + "\t" + temp.matches(A +"[^\\d].*?" + B));        } 

热点排行
Bad Request.