求一个正则 谢谢

amdgaming 2012-06-30 01:12:32


这种不符合:

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

下面返回true:

张江路w888碧波大道295 true


张江路靠近碧波大道295 true

...全文
181 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
brightyq 2012-07-04
  • 打赏
  • 举报
回复
任何字符
amdgaming 2012-07-04
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

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 = "碧波大道";
……
[/Quote]
\\d.*

这个. 是什么意思?

brightyq 2012-07-02
  • 打赏
  • 举报
回复
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");
}
}
}
brightyq 2012-07-02
  • 打赏
  • 举报
回复
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");
}
}
}
amdgaming 2012-07-02
  • 打赏
  • 举报
回复
是的。帮忙写个 正则吧
sdojqy1122 2012-07-02
  • 打赏
  • 举报
回复

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));
}

brightyq 2012-06-30
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
引用 7 楼 的回复:

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

切割 字符串 不准确,因为这种字符串可能有很多 A B符合条件的,切割 不一定准确
[/Quote]

嗯?什么意思,不是A,B是固定的吗?
A是张江路,B是碧波大道
不是这样吗?
amdgaming 2012-06-30
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

A,B 是固定的,那就判断A,B之间的字符串,第一个是不是在0-9之间的字符,应该不难弄。
[/Quote]
切割 字符串 不准确,因为这种字符串可能有很多 A B符合条件的,切割 不一定准确
brightyq 2012-06-30
  • 打赏
  • 举报
回复
A,B 是固定的,那就判断A,B之间的字符串,第一个是不是在0-9之间的字符,应该不难弄。
amdgaming 2012-06-30
  • 打赏
  • 举报
回复
比如A2testB 不符合

A汉字B 符合

amdgaming 2012-06-30
  • 打赏
  • 举报
回复
就是如何匹配一段字符 是否 含有

A + 非数字开头的字符串 +B的格式

A,B是固定的

噢噢噢噢 2012-06-30
  • 打赏
  • 举报
回复
没看明白。。
amdgaming 2012-06-30
  • 打赏
  • 举报
回复
其实就是要 A+ 非数字开头 + B + C

就可以 认为 是正确的格式
当然 A前面还可能有很多字符
C也是
amdgaming 2012-06-30
  • 打赏
  • 举报
回复



上海浦东新区张江路w888碧波大道295号 true

上海浦东新区张江路靠近碧波大道295号 true


上海浦东新区张江路3号碧波大道295号 false

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧