- 浏览: 34122 次
- 性别:
- 来自: 湖南
文章分类
最新评论
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 622HttpClient client = new HttpCli ... -
HTTPClient的多线程编程
2012-03-02 09:09 1486Axis2的连接主要采用了HttpClient进行与服务器的服 ... -
HttpClient超时区别
2012-03-02 09:07 1075HttpClient 4 设置超时 httpclient 超时 ... -
HttpClient Theading
2012-03-01 10:49 679有技术兴趣的 请加28830308群. 这篇文章概括了怎样在 ... -
HttpClient使用
2012-03-01 10:43 727有技术兴趣的 请加28830308群. HttpClien ... -
线程请求执行,一个多线程程执行HTTP请求的例子。
2012-03-01 10:40 1764package cn.lake.util; import ... -
httpclient 4 下载 文件
2012-03-01 10:38 958import java.io.File; import ja ... -
使用了httpclient实现的上传商品的demo
2012-03-01 10:36 1159package com.taobao.top.sample.u ... -
socket简介
2012-02-07 10:58 687第一步 充分理解Socket ... -
转载socket
2012-02-07 10:57 577对TCP/IP、UDP、Socket编程这些词你不会很陌生吧? ... -
Java的synchronized关键字:同步机制总结
2012-02-07 10:54 578不久前用到了同步,现在回过头来对JAVA中的同步做个总结,以对 ... -
JAVA RMI
2012-02-07 10:53 579Java RMI 指的是远程方法调用 (Remote Meth ... -
JXL生成复杂的EXCEL
2011-12-26 13:52 1387public String ExcelTaskRepo ... -
如何快速的为现有数据库建立数据字典?
2011-12-20 13:55 999大部分项目在验收时都需要向客户提供一份详细的数据字典,而编写数 ... -
在java中获取客户端真实的IP地址
2011-12-20 13:55 556public static String getRemoteA ... -
用JavaMail的API发送邮件
2011-12-20 13:55 5351、MimeMessage的包装类 public c ... -
在项目中整合FreeMarker框架
2011-12-16 15:40 585FreeMarker是一个用Java编写的模板引擎,既可以 ... -
Commons FTP范例
2011-12-16 15:33 507public class FtpUtil { privat ... -
Java实现的图片生成器
2011-12-16 15:32 523一、本图片生成器具有以下功能特性: 1、可以设置图 ... -
jacob学习总结
2011-12-16 15:27 449JACOB 就是 JAVA-COM Bridge的缩写,提供自 ...
相关推荐
总结一下,Java的Pattern和Matcher提供了强大的正则表达式功能,通过编译Pattern对象和使用Matcher对象进行匹配操作,可以高效地处理字符串。深入学习这两者,有助于理解和应用正则表达式,从而在处理字符串相关任务...
### JAVA正则表达式——Pattern和Matcher详解 #### 一、引言 随着JDK 1.4的发布,Java终于内置了自己的正则表达式API,这对于Java开发者来说无疑是个福音,意味着不再需要依赖第三方库就能高效地处理文本数据。Java...
JAVA的正则表达式主要通过Pattern和Matcher两个核心类实现。Pattern用于编译正则表达式并存储模式,而Matcher则是执行实际匹配操作的对象。通过不同的方法,如matches、split和find,我们可以对字符串进行精确或灵活...
除了上述提到的`Pattern`和`Matcher`类,Java的`String`类也提供了`split`方法,可以按照正则表达式来分割字符串。比如,`String[] str = p.split("好456456像:0532214是")`会根据数字来分割给定的字符串,返回一个...
`java.util.regex`包提供了`Pattern`和`Matcher`两个核心类,它们协同工作,使得开发者能够利用正则表达式进行复杂的字符串操作。 `Pattern`类是正则表达式的核心,它将文本模式编译成一个内部表示,以便高效地执行...
Java中的正则表达式功能主要通过`java.util.regex`包来实现,该包提供了两个核心类:`Pattern`和`Matcher`。 #### 二、Pattern类 `Pattern`类代表预编译的正则表达式。它提供了静态方法`compile()`用于创建`...
在Java中,正则表达式的处理主要涉及到两个核心类:`Pattern`和`Matcher`。 `Pattern`类是用于编译正则表达式的,它将文本模式转化为可匹配的模式对象。在给定的例子中,`Pattern.compile("[,\\s]+")`编译了一个...
本文将深入探讨Java正则表达式中的`Pattern`和`Matcher`类,这两个类是处理正则表达式的核心。 首先,`Pattern`类是用于编译正则表达式并创建匹配模式的对象。在Java中,使用`Pattern.compile()`方法编译正则表达式...
下面我们将深入探讨`Pattern`类的使用方法以及与之相关的`Matcher`类。 ### `Pattern`类 `Pattern`类表示一个正则表达式的编译形式,它是不可变的。在使用正则表达式进行匹配操作之前,必须先将正则表达式编译为`...
一旦我们得到了Pattern对象,我们就可以使用这个对象的matcher方法来创建Matcher对象,方法的参数是待匹配的字符串。 下面是一个具体的例子,假设我们有一个字符串"123ra***aj234adf12322ad222jsk22",我们想要匹配...
在Java中,`java.util.regex`包提供了Pattern和Matcher类来支持正则表达式的使用。下面将详细探讨这个主题。 首先,`Pattern`类是正则表达式的编译表示形式,它通过`compile`方法创建,并且可以多次复用。例如,...
java使用正则表达式进行校验验证,主要使用了Pattern和Matcher类,直接main方法运行就可以,亲测有效
在"PatternMatcher"中,你可以逐个尝试这些元素,了解它们的功能和用法。 此外,Java的`Matcher`类还提供了多种方法来处理匹配结果,如`find()`用于查找下一个匹配项,`matches()`检查整个字符串是否匹配,`group()...
在Java中,正则表达式是通过java.util.regex包提供的类来实现的,主要包括Pattern和Matcher两个核心类。这篇博客将深入探讨正则表达式在Java代码中的应用。 首先,创建一个正则表达式需要使用Pattern类。Pattern类...
### 浅谈Java中正则表达式的优化方法 在日常的软件开发过程中,正则表达式作为一种强大的文本处理工具被广泛应用于数据验证、文本搜索与替换等场景之中。尤其是在Java语言环境中,`java.util.regex`包提供了丰富的...
在Java中,正则表达式(Regular Expression)是通过Pattern和Matcher类来实现的。这篇博客文章可能详细介绍了如何创建一个自定义的工具类,整合了常见的正则表达式功能,方便在项目中复用。 正则表达式是一种模式...
这里的【标题】"Java一些常用验证整理"和【描述】"Java一些常用验证整理,附有有关代码"指的是收集并整理了一些常见的Java验证方法。这些方法主要用于检查用户输入、数据交换等场景中的字符串格式,以确保其合法性。...
在Java中,正则表达式主要通过`java.util.regex`包来实现,提供了Pattern和Matcher两个核心类。 **1. Pattern类** Pattern类是Java正则表达式的起点,它将一个正则表达式编译成一个模式对象。这个编译过程可以优化...