Qt开发杂记(二)

QRegExp类用正则表达式或通配符进行模式匹配.

c 匹配字符 'c'
. 匹配任意字符
^ 匹配一个输入的开始
$ 匹配一个输入的结束
[] 匹配一个字符串集的定义 - see below.
a* matches a sequence of zero or more a's (可以是a,ab,ade等;*可以代表任意个字符,包括0个)
a+ matches a sequence of one or more a's  (可以是ab,ade,aeee等,但不能是a;+只代表一个以上的字符)
a? matches an optional a     匹配可选的a  (可以是ab,ac,ad等,但不能是a,或ade;?只代表一个字符)
/c 避免与一些特殊的字符串匹配,如 /, [, *, +, . 等,这个时候要使用这些字符串的时候,我们可以在前面加上一个/,比如//表示一个/字符,而不是一个通匹符, /[表字符[,/*表示字符*,/+表示字符+等等
/t 匹配TAB字符 (9)
/n 匹配一个新行 (10)
/r 匹配一个回车 (13)
/s 匹配一个空格 (通过定义成QChar::isSpace()返回真值时的任意字符,包括至少这些ASCLL字符s 9 (TAB), 10 (LF), 11 (VT), 12(FF), 13 (CR) and 32 (Space)).
/d 匹配一个阿拉伯数字 (定义成QChar::isDigit()可以返回真值时的任意字符,包括至少是ASCLL字符0'-'9').
/x1f6b 匹配一个用unicode指向u1f6b的字符(hexadecimal 1f6b).
/x0012 匹配一个ASCII/Latin1字符编码为0x12的字符 (18 decimal, 12 hexadecimal).
/022   匹配一个ASCII/Latin1字符编码为022的字符 (18 decimal, 22 octal).
在通配符模式下, 它仅仅表示四种形式:

c 匹配字符'c'
? 表示任意字符
* 表示任意字符串
[] 表示一个字符集定义 - see below.
QRegExp 支持同时在模式字符串(pattern strings)和字符串(strings)中的Unicode的匹配.

在用C++代码书写正则表达式的时候, 记住用/来操作字符. 所以为了匹配"."这个字符, 你必须在C++代码里头定样书写"//.", 而不是"/.".

一个字符集匹配多个字符的集合的定义. 例如, [BSD] 匹配'B', 'D' 和 'S'的任何一种.在一个字符集里, 那些专用字符 '.', '*', '?', '^', '$', '+' 和'[' 失去它们的特殊含义. 下面是一些比较特殊的字符的使用:

^ (取反操作符)当放到list最前面的时候, 表示匹配不含有list里的任意一个字符.如果在字符集里包括"^"自 己的话,则必须用/来标识这是一个特殊字符,或者将它放到不在第一个位置的任何一个位置.
- 一个字符集的范围定义. 如果在字符集里包括"-"自己的话,则必须用/来标识这是一个特殊字符,或者将它放 到最后一个位置.
] 字符集的结束标志. 如果字符集里包含']'的话, 那么必须用/来标识这是一个特殊字符,或者将它放到第一个位置(但是如果有取反操作符'^'的话, 就必须放在取反操作符的后面)
因此, [a-zA-Z0-9.] 表示ASCLL码里的大小写字母,数字及点; [^/s] 表示除了空格的任何东西(字符).
/注意 在Qt 3.0, 正则表达式语言五个更多的特殊字符, 即'(', ')', '{', '|' and '}'. 拥有很好的接口, 只需用一个/来标识这些正则表达式.

缺陷及使用限制:

不区分大小写不被non-ASCII/Latin1 (non-8bit) 字符集支持. 任意的非零字符(non-zero QChar.row())即使是QRegExp的不区分大小写模式下也会区分大小写的.

 

杂记

01-19

系统异常,详细信息:rncom.paic.icore.fa.exception.rest.RestClientException: java.lang.NumberFormatException: nullrn at com.paic.icore.fa.rest.impl(路径).HttpRest4SpringRestTemplate(类名).exchange(方法名)(HttpRest4SpringRestTemplate.java:443)rn at com.paic.icore.fa.rest.impl.HttpRestSupport.exchange(HttpRestSupport.java:102)rn at com.paic.icore.fa.web.handler.WebDispatcherHandler.handleRequest(WebDispatcherHandler.java:59)rn at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)rn at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)rn at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)rn at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)rn at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:790)rn at javax.servlet.http.HttpServlet.servrn rn rnEclipse 代码定位基本操作rn1.导入svn代码:windows --> showview --> other -->svn资源库 --> 新建资源库位置 --> 导入url;rn2.在当前代码页面查找关键字:ctrl+Frn3.在整个工作空间查找关键字:Alt+Shift+Frn4.查找类名:Ctrl+Shift+Rrn5.当前代码页面查找行号:Ctrl+Lrnrnjava的mvc架构,这就像工厂中车间的情景一样,每个部门分管不同的流程和工作,比如rndao即使data access object,主要负责处理数据库操作;rnbiz,business层,负责整个应用程序的相关业务流程,并用代码实现出来;rnutil,即utility,工具辅助层,一组通用的代码集合,比如处理多语言功能,网站非法信息过滤等等功能的代码集;rnweb,即是前台网页处理的后台代码,负责把从数据库中处理过的数据,通过web层处理之后,显示成html代码的部分。。。rn这样经过每部分的分工合作,团队之间能更好的开发应用程序,而应用程序之间的运作也会相对比较顺畅rnrnMVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,rn用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,rn不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。rn rnprivate 私有权限。只有自己能用。rnfriendly 包权限。同一个包下的可用。rnprotected 继承权限。(是包权限的扩展,子女类也可使用)。rnpublic 谁都可以用。 rnrn/**rnSelenium实例----12306网站测试rn**/rn rn rn rnrnrn

Oracle 数据库连接杂记

02-22

/*rn数据表的连接有: rn1、内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现 rn2、外连接: 包括 rn(1)左外连接(左边的表不加限制) rn(2)右外连接(右边的表不加限制) rn(3)全外连接(左右两表都不加限制) rn3、自连接(连接发生在一张基表内) rn*/rn--左连接1 无论b表中有没有得到匹配的时间,左边的a表的数据都会显示出来rnselect a.*, nvl(b.prd_quantity, 0) as prd_quantityrn from som_ptm_detail arn left join (select som_ptm_detail_id,rn sum(nvl(prd_quantity, 0)) prd_quantityrn from prd_orderrn group by som_ptm_detail_id) brn on a.keyid = b.som_ptm_detail_idrn where (nvl(a.ord_number, 0) + nvl(a.bakup_storage, 0) - nvl(a.storage, 0) +rn nvl(a.gift_quantity, 0)) > nvl(b.prd_quantity, 0)rn order by a.serial_no;rn rn --左连接2 无论b表中有没有得到匹配的时间,左边的a表的数据都会显示出来rn --"(+)"所在位置的另一侧为连接的方向rn --左连接说明等号左侧的所有记录均会被显示,无论其在右侧是否得到匹配。rn select a.*, nvl(b.prd_quantity, 0) as prd_quantityrn from som_ptm_detail arn , (select som_ptm_detail_id,rn sum(nvl(prd_quantity, 0)) prd_quantityrn from prd_orderrn group by som_ptm_detail_id) brn where a.keyid = b.som_ptm_detail_id(+)rn and (nvl(a.ord_number, 0) + nvl(a.bakup_storage, 0) - nvl(a.storage, 0) +rn nvl(a.gift_quantity, 0)) > nvl(b.prd_quantity, 0)rn order by a.serial_no;rn rn --右连接 无论a表有没有匹配的数据,b表的数据都显示出来rn --"(+)"所在位置的另一侧为连接的方向rn --右连接说明等号右侧的所有记录均会被显示,无论其在左侧是否得到匹配。rn select a.*, nvl(b.prd_quantity, 0) as prd_quantityrn from som_ptm_detail arn , (select som_ptm_detail_id,rn sum(nvl(prd_quantity, 0)) prd_quantityrn from prd_orderrn group by som_ptm_detail_id) brn where a.keyid(+) = b.som_ptm_detail_idrn and (nvl(a.ord_number, 0) + nvl(a.bakup_storage, 0) - nvl(a.storage, 0) +rn nvl(a.gift_quantity, 0)) > nvl(b.prd_quantity, 0)rn order by a.serial_no;rn rn --右连接2 rn select a.*, nvl(b.prd_quantity, 0) as prd_quantityrn from som_ptm_detail arn right join (select som_ptm_detail_id,rn sum(nvl(prd_quantity, 0)) prd_quantityrn from prd_orderrn group by som_ptm_detail_id) brn on a.keyid = b.som_ptm_detail_idrn where (nvl(a.ord_number, 0) + nvl(a.bakup_storage, 0) - nvl(a.storage, 0) +rn nvl(a.gift_quantity, 0)) > nvl(b.prd_quantity, 0)rn order by a.serial_no;rn rn --内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现rn select a.*, nvl(b.prd_quantity, 0) as prd_quantityrn from som_ptm_detail arn , (select som_ptm_detail_id,rn sum(nvl(prd_quantity, 0)) prd_quantityrn from prd_orderrn group by som_ptm_detail_id) brn where a.keyid = b.som_ptm_detail_idrn and (nvl(a.ord_number, 0) + nvl(a.bakup_storage, 0) - nvl(a.storage, 0) +rn nvl(a.gift_quantity, 0)) > nvl(b.prd_quantity, 0)rn order by a.serial_no;rn

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试