当前位置: 代码迷 >> J2SE >> 正则 多谢
  详细解决方案

正则 多谢

热度:438   发布时间:2016-04-24 00:39:00.0
求一个正则 谢谢


这种不符合:

张江路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));        }
  相关解决方案