如何用java实现javascript的match效果?
javascript中,match可将字符串分割为字符数组。"select*fromT_USERwheres1=1andid=8".match(/\w+\s*=\s*\w...
javascript中,match可将字符串分割为字符数组。
"select * from T_USER where s1 = 1 and id = 8".match(/\w+\s*=\s*\w/g);
返回结果为
["s1 = 1", "id = 8"]
如何在java中实现同样效果呢? 展开
"select * from T_USER where s1 = 1 and id = 8".match(/\w+\s*=\s*\w/g);
返回结果为
["s1 = 1", "id = 8"]
如何在java中实现同样效果呢? 展开
2个回答
展开全部
Java 的正则表达式用法和 JavaScript 的类似。
但是正则表达式的写法略有不同。在 Java 中正则表达式源是当猛蚂中普通字符串来对待的,不需要像 JavaScript 那样用“/.../”包裹,另外,特别要注意正则表达式转义字符是双斜杠(因为在 Java 中,斜杠已是字符串的转义字符,双斜杠才代表斜杠)。
至于使用的语法,常规情况下,需要用到 Pattern 类,下面是一个例子:
import java.util.regex.Pattern; // 导入 regex 包
import java.util.regex.Matcher;
// public class ... {
Pattern p = Pattern.compile("Hello \\w"); // 编译正则表达式
Matcher m = p.matcher("Hello World"); // 开始匹配字符串
while (m.find()) { // 只要匹配则循环
String result = m.group(); // 返回匹友知岩配的子串好御
}
// }
但是有时候不用这么麻烦,String 类中有隐含的正则表达式匹配函数 matches() 和 split(),其中 split() 和 JavaScript 中的 match() 比较相似。下面是例子:
String s = "Hello A Hello B Hello C";
boolean bResult = s.matches("Hello [A-C]"); // matches() 仅返回逻辑判断结果
String[] strResults = s.split("Hello [A-C]"); // split() 可返回结果子串,放在数组当中
详细用法请参考 Java 语言手册。
http:// docs.oracle.com/javase/6/docs/api/java/lang/String.html
http:// docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询