\将下一个字符标记为一个特殊字符、或一个原义字符、或一个 后向引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。
解决方案 »
- 请用SimpleDateFormat解析这个,Sun Jan 29 14:34:06 格林尼治标准时间+0800 2012
- sturts2中注入的属性来自spring的bean如何做?
- se过后的一道坎,黎明前最黑暗的时刻,发一文字编辑器,向JSP开进
- 在Action中如何使用jspsmartupload来实现文件上传?在线等...
- 请大家帮我看看我JavaMail程序有什么问题,急?????????????????
- 用变量定义变量
- 如何对一个数值表达式求值
- 谁用j2ee sdk1.4 ?
- 谁有JBoss的examples?我没找到。
- solr导入了多个entity,如何指定一个entity查询全部呢?
- 关于j2ee事务处理的:使用bean管理还是容器管理好??
- 数据源以及线程的问题
我看法跟你相同,但我使用字串\13579去匹配,就是匹配不成功。我的测试代码如下:
package com.test;
import gnu.regexp.RE;
/**
* <p>Title: game</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* @author water
* @version 1.0
*/public class test { public test() {
}
public static void main(String[] args) {
test test1 = new test();
String line = "\130200";
RE extractMSISDN = null;
try {
extractMSISDN = new RE("^\\+[-\\d]*");
Object MSISDN = extractMSISDN.getMatch(line);
System.out.println("=="+MSISDN+"==");
}
catch (REException ex) {
}
}
}如果方便我们可以QQ当中交流。欢迎加入3953507或者email:[email protected]
应该是String line = "\\130200";
何况,我加了两个测试也不行啊,返回一律的null.
<html>
<head>
</head>
<script>
var re = /^\\+[-\\d]*/;
var str = "\\\\\\";
if(re.test(str))
{
alert("success!");
}
else
{
alert("failed");
}
</script>
<body>
</body>
</html>
匹配字符串的前面两个\\我这样理解的,要被匹配的字符串必须以\开头,但在字符串中则\\才代表一个\,否则就会转义为别的字符了。
// pattern = Pattern.compile("^\\\\+[\\-\\d]*");
extractMSISDN = new RE("^\\\\+[\\-\\d]*");那么你用这个吧,应该可以的
我用regex测试过了
感谢各位积极参与。
匹配字串:+130200
^\\+[-\\d]*
^\\+是指以+开始的字串
因为+也是保留字符,前面需要进行转义,而在JAVA当中是两个\\进行的。