小弟对正则表达式不是很熟悉,比较着急,像
“A@@B@@C@@D##A1@@B1@@C1@@D1##......”这个形式的字符串的正则表达式应该怎么写?
“A@@B@@C@@D##A1@@B1@@C1@@D1##......”这个形式的字符串的正则表达式应该怎么写?
解决方案 »
- spring AOP Annotation的问题
- 多人合作开发项目
- struts + spring+hibernate 的问题
- 请问怎样划分简单的JAVABEAN?
- sun公司是不是有病啊?连个时间控件都不提供?
- spring3.2.3 mybatis3 整合问题 出现错误
- spring json传递出错,请教!
- 我安装了JBuilder9之后,想安装一个JDBC-ODBC驱动来熟悉一下数据库的应用,该到哪里下载这个驱动的安装程序,该如何安装?
- JDBC连接池讨论(抛砖引玉)
- JS怎么实现页面按空格键的时候自动替换成‘’
- XSD中的正则表达式应该怎么写?
- 有关hibernate3.6的日志问题
String s = "A@@B@@C@@D##A1@@B1@@C1@@D1##";
System.out.println(s.matches("([A-Z\\d#]+(@{2})?)+"));"([A-Z\\d#]+(@{2})?)+"
大写字母或数字或#,然后接着2个@(这2个@可有可无)所组成的字符串,这样组成字符可有多个
[A-Z]表示大写字符
\\d表示数字,也可以用[0-9]代替
[#]就是#字符
@就是字符
{2}表示出现2次
?表示可有可无
+表示出现1次或多次
()表示一个组
String s = "A@@B@@C@@D##A@@B@@C@@D##";
System.out.println(s.matches("(\\w+@{2}\\w+@{2}\\w+@{2}\\w+#{2})+"));
}
就是任意字符,然后2个@,这样的字符串多个组合,对吧,那就更简单了
String s = "A@@B@@C@@D##A1@@B1@@C1@@D1##";
System.out.println(s.matches("(.+?(@{2})?)+"));
能够继续指导一下?
在XSD验证XML时,我的数据是“001##XX制药厂#国营企业##024-65XXXX23##新区出口加工区XXX##胶囊@@002##XX化肥##民营企业##024-35XXXX23##新区##二氧化硫@@003##XX食品##民营企业##024-66XXXX23##新区水家##食品安全”,大概意思就是从数据库中读出的字段用“##”分隔,行之间用“@@”分隔,由于数据数目不确定,所以我的正则表达式是“(.+#{2}.+(@{2})?)+”并且用其他工具测试能通过,我不明白为什么xsd的校验通不过呢?