- 浏览: 32424 次
- 性别:
- 来自: 湖南
文章分类
最新评论
String上可使用正则表达式的操作,实际上是利用了java.util.regex.Pattern与java.util.regex.Matcher的功能。当调用String的matches()方法时,实际上是调用Pattern的静态方法matches(),这个方法会返回boolean值,表示字符串是否符合正则表达式。
如果想要将正则表达式视为一个对象来重复使用,可以使用Pattern的静态方法compile()进行编译。compile()方法会返回一个Pattern的实例,这个实例代表正则表达式,之后就可以重复使用Pattern实例的matcher()方法来返回一个Matcher的实例,代表符合正则式的实例,这个实例上有一些寻找符合正则式条件的方法可供操作。
function ajaxExportExcel(formName){ var type = "${isBranch}"; //if(type=="0"){ // Ext.MessageBox.alert("警告", "没有数据!"); // return; //} var agentName = "agentName:" + Ext.getCmp("agentName").getValue(); var system = "system:" + Ext.getCmp("system_id").getValue(); if (Ext.getCmp("system_id").getRawValue()=='') { system = "system:"; } var officeNo = "officeNo:" + Ext.getCmp("officeNo").getValue(); var status = "status:" + Ext.getCmp("status_id").getValue(); if (Ext.getCmp("status_id").getRawValue()=='') { status = "status:"; } var startTime = "startTime:" + Ext.getCmp("startTime_index_1").getRawValue(); var endTime = "endTime:" + Ext.getCmp("startTime_index_2").getRawValue(); var zData = "zData:" + Ext.getCmp("zData").getValue(); var params = agentName + "_@_" + system + "_@_" + officeNo + "_@_" + status + "_@_"+ startTime + "_@_" + endTime + "_@_" + zData; var myMask = new Ext.LoadMask(Ext.getBody(), {msg:"请稍候..."}); myMask.show(); Ext.Ajax.request({ url: "./report!exportqueryHistorysReport.action", timeout: 900000, method: 'post', params: {queryInfo: params}, success:function(action){ var response = action.responseText; if(response.indexOf('file:')==-1){ myMask.hide(); Ext.MessageBox.show({ title: "导出报表失败", msg: response, buttons: Ext.MessageBox.OK, icon: Ext.MessageBox.INFO }); }else{ var reportFileName = response.substring(5); var newWindow = new Ext.Window({ id: 'winExportReport', title: this.title, width: 850, layout: 'fit', collapsible: true, height: this.height, frame: true, modal: true, html: '<iframe id="iframe1" src="../report/download?filePath='+reportFileName+'" width="100%" height="500"/>' }); newWindow.addListener("show", function(){delayCloseWindow(myMask);}); newWindow.addListener("close", function(){myMask.hide();}); newWindow.show(); } }, failure: function(action){ var response = action.responseText; myMask.hide(); Ext.MessageBox.show({ title: "导出报表失败", msg: response, buttons: Ext.MessageBox.OK, icon: Ext.MessageBox.INFO }); } }); }
private static Pattern configSummaryQueryParameterPatternhy = Pattern.compile("^agentName:(.*)_@_system:(.*)_@_officeNo:(.*)_@_status:(.*)_@_startTime:(.*)_@_endTime:(.*)_@_zData:(.*)$"); public String exportqueryHistorysReport()throws Exception{ //数据渲染器选择标记 ServletActionContext.getRequest().setAttribute( com.travelsky.bravo.core.ui.Constants.AJAX_HANDLE_KEY, com.travelsky.bravo.core.ui.Constants.AJAX_HANDLE_VALUE); try{ String queryInfo = ServletActionContext.getRequest().getParameter("queryInfo").trim(); Matcher matcher = configSummaryQueryParameterPatternhy.matcher(queryInfo); if (!matcher.find()) { throw new RuntimeException("wrong parameters:" + queryInfo); } SecUser currentUser = RequestHandler.getContextRequestHandler().getCurrentUser(); String islocaluse=currentUser.getBranchId().getIslocaluse(); String fileName = reportManager.generateConfigHistorysReport( StringUtils.trim(matcher.group(1)), StringUtils.trim(matcher.group(2)), StringUtils.trim(matcher.group(3)), StringUtils.trim(matcher.group(4)), StringUtils.trim(matcher.group(5)), StringUtils.trim(matcher.group(6)), StringUtils.trim(matcher.group(7)),islocaluse); ServletActionContext.getRequest().setAttribute( Constants.AJAX_HANDLE_STATUS, "Y"); ServletActionContext.getRequest().setAttribute( Constants.AJAX_HANDLE_MSG, "file:" + fileName); }catch(Exception e){ logger.error(e.getMessage(), e); ServletActionContext.getRequest().setAttribute( Constants.FORM_AJAX_SUBMIT_STATUS, Constants.FORM_AJAX_SUBMIT_FAILURE); ServletActionContext.getRequest().setAttribute( Constants.FORM_AJAX_SUBMIT_MSG, e.getMessage()); } return JSON_DATA_RENDER_CHAIN; }
发表评论
-
HttpClient容易忽视的细节——连接关闭
2012-03-02 09:15 580HttpClient client = new HttpCli ... -
HTTPClient的多线程编程
2012-03-02 09:09 1444Axis2的连接主要采用了HttpClient进行与服务器的服 ... -
HttpClient超时区别
2012-03-02 09:07 1041HttpClient 4 设置超时 httpclient 超时 ... -
HttpClient Theading
2012-03-01 10:49 637有技术兴趣的 请加28830308群. 这篇文章概括了怎样在 ... -
HttpClient使用
2012-03-01 10:43 670有技术兴趣的 请加28830308群. HttpClien ... -
线程请求执行,一个多线程程执行HTTP请求的例子。
2012-03-01 10:40 1717package cn.lake.util; import ... -
httpclient 4 下载 文件
2012-03-01 10:38 887import java.io.File; import ja ... -
使用了httpclient实现的上传商品的demo
2012-03-01 10:36 1116package com.taobao.top.sample.u ... -
socket简介
2012-02-07 10:58 650第一步 充分理解Socket ... -
转载socket
2012-02-07 10:57 528对TCP/IP、UDP、Socket编程这些词你不会很陌生吧? ... -
Java的synchronized关键字:同步机制总结
2012-02-07 10:54 534不久前用到了同步,现在回过头来对JAVA中的同步做个总结,以对 ... -
JAVA RMI
2012-02-07 10:53 544Java RMI 指的是远程方法调用 (Remote Meth ... -
JXL生成复杂的EXCEL
2011-12-26 13:52 1343public String ExcelTaskRepo ... -
如何快速的为现有数据库建立数据字典?
2011-12-20 13:55 955大部分项目在验收时都需要向客户提供一份详细的数据字典,而编写数 ... -
在java中获取客户端真实的IP地址
2011-12-20 13:55 521public static String getRemoteA ... -
用JavaMail的API发送邮件
2011-12-20 13:55 4991、MimeMessage的包装类 public c ... -
在项目中整合FreeMarker框架
2011-12-16 15:40 557FreeMarker是一个用Java编写的模板引擎,既可以 ... -
Commons FTP范例
2011-12-16 15:33 480public class FtpUtil { privat ... -
Java实现的图片生成器
2011-12-16 15:32 485一、本图片生成器具有以下功能特性: 1、可以设置图 ... -
jacob学习总结
2011-12-16 15:27 402JACOB 就是 JAVA-COM Bridge的缩写,提供自 ...
相关推荐
主要给大家介绍了关于java正则表达式之Pattern与Matcher类的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
java使用正则表达式进行校验验证,主要使用了Pattern和Matcher类,直接main方法运行就可以,亲测有效
主要介绍了Java matches类,Pattern类及matcher类用法,结合实例形式分析了java matches类,Pattern类及matcher类针对字符串常见操作技巧与相关注意事项,需要的朋友可以参考下
下面是一些Java中常用的正则表达式语法和使用方法: 匹配字符串模式: 使用String类的matches()方法,可以判断一个字符串是否与某个正则表达式匹配。 String regex = "pattern"; String input = "string"; boolean...
加载扩展后,您将看到一个 Response Pattern Matcher 选项卡,默认情况下存在预先存在的有效负载,这些负载将与通过 Burp 的每个响应进行模式匹配。 这包括诸如扫描仪之类的工具。 相应地配置这些有效负载,它们...
在validateIDCard()方法中,定义了一个正则表达式来匹配合法的身份证号码格式,并使用Pattern和Matcher类对输入的身份证号码进行匹配。最后返回匹配结果。在main()方法中根据匹配结果输出判断信息。由于使用了正则...
在validateEmail()方法中,定义了一个正则表达式来匹配合法的邮箱地址格式,并使用Pattern和Matcher类对输入的邮箱地址进行匹配。最后返回匹配结果。在main()方法中根据匹配结果输出判断信息。由于使用了正则表达式...
查看栈,发现一切都是由ClientFilter这个类开始,其使用了matcher.matches()方法。这样一来,就很可能是由于输入了不规范的正则导致的了。于是查看输入日志,发现这么一个输入: 也就是说输入的正则表
理解正则表达式,学会使用String.matches方法,Pattern和Matcher类进行模式匹配。 学会使用String.split方法,Scanner类,StringTokenizer类分解字符串。 [*]利用Formatter类的printf或format...
以前写了一个java的正规表达式的java工具类,分享一下,有用到的欢迎下载使用。 如果你有常用的定义好的,且测试通过的正规表达式,欢迎跟贴,也让我享用一下 . 类中用到了 jakarta-oro-2.0.jar 包,请大家自己在 ...
12.3.2 pattern与matcher 403 12.4 nio2文件系统 405 12.4.1 api架构概述 405 12.4.2 操作路径 406 12.4.3 属性读取与设定 409 12.4.4 操作文档与目录 412 12.4.5 读取、访问目录 414 12.4.6 过滤、...
使用的是用正则对象Pattern 和匹配器Matcher。 用法: 范例: Pattern p = Pattern.compile("a*b"); Matcher m = p.matcher("aaaaab"); boolean b = m.matches(); 步骤: 1,先将正则表达式编译成正则对象。...
这个轻量级的库在Java 5/6(和Android)中增加了对支持。 这是来自Google Code的项目的分支(当前处于非活动状态)。 用法 您可以对Java 7中的命名捕获组使用相同的构造(即(?<name>patt)等),如以下示例所示: ...
乔尼 Oniguruma正则表达式库的Java端口用法进口货 import org.jcodings.specific.UTF8Encoding ; import org.joni.Matcher ; import org.joni.Option ; import org.joni.Regex ;匹配 byte [] pattern = " a* " . ...
一旦程序中定义了正则表达式之后,就可以使用Pattern和Matcher来使用正则表达式。 Pattern对象是正则表达式编译后在内存中的表示形式,因此,正则表达式字符串必须先编译为Pattern对象,然后再利用该Pattern对象创建...
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main(String[] args) { String s = A876X; // 把要匹配的字符串写成正则表达式,然后要提取的字符使用...
3.7.2静态方法和实例方法的区别134 3.7.3静态代码块136 3.7.4再论静态成员变量137 3.8main()方法和命令行参数139 3.9结束方法141 3.10本地方法141 3.11本章小结144 第4章继承与多态145 4.1继承的基本原理145...
Pattern的matcher方法... 373 Matcher对象... 373 应用正则表达式... 375 查询匹配结果... 376 简单查找-替换... 378 高级查找-替换... 380 原地查找-替换... 382 Matcher的检索范围... 384 方法链... 389 ...
Matcher matcher2= pattern2.matcher(inputStr); if(matcher.matches()||matcher2.matches()) { isValid = true; } return isValid; } public static boolean iswithin70(String text) { if (text....
* 正则表达式 的用法主要是4种方面的使用 * 匹配,分割,替换,获取. * 用一些简单的符号来代表代码的操作 * @author cyc * */ public class Rex { public static void main(String[] args) { //针对字符串...