正则表达式入门

概念

字符是计算机软件处理文字时最基本的单位,可能是字母,数字,标点符号,空格,换行符,汉字等等。字符串是0个或更多个字符的序列。文本也就是文字,字符串。 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。


支持

在最近的六十年中,正则表达式逐渐从模糊而深奥的数学概念,发展成为在计算机各类工具和软件包应用中的主要功能。不仅仅众多UNIX工具支持正则表达式,近二十年来,在WINDOWS的阵营下,正则表达式的思想和应用在大部分 Windows 开发者工具包中得到支持和嵌入应用!从正则式在Microsoft Visual Basic 6 或 Microsoft VBScript到.NET Framework中的探索和发展,WINDOWS系列产品对正则表达式的支持发展到无与伦比的高度,几乎所有 Microsoft 开发者和所有.NET语言都可以使用正则表达式。如果你是一位接触计算机语言的工作者,那么你会在主流操作系统(*nix[Linux, Unix等]、Windows、HP、BeOS等)、主流的开发语言(PHP、C#、Java、C++、VB、Javascript、Ruby以及python等)、数以亿万计的各种应用软件中,都可以看到正则表达式优美的舞姿。

以上内容引自百度百科


阅读剩余部分

有些软件虽然卖的很贵,但是稳定性还是让人很无语,经常莫名其妙的崩溃,生产服务器怎么能允许这种事情发生!

一个监控程序运行的就这样诞生了,程序Python 2.7

思路很简单,先写一个监控的函数,判断是否在运行,然后循环调用N次,直到运行成功,实在不行,就发个通知或者记录下来

难点在于如何判断进程在运行。

思路也很简单,主要用到了这两个方法

  • os.popen
  • os.system

他们两个都可以直接运行cmd或者shell中的命令,但是前者会返回输出的内容,可以做进一步的处理

而后者只是执行,并把结果打印出来。

下面是程序,注释已经很清晰了


#coding=utf-8
"""
To check program if it is running
@author PHPergao
@time 2014-7-22
"""

import re
import os
import time
import urllib2
import urllib

flag = 1

#check function
def checkhct():
    #tasklist也可换成linux下打印所有进程的命令 ps aux
	for line in os.popen('tasklist').readlines():
            #判断用正则更准确,也可以使用find或者index判断
		pattern = re.compile(r'qq.*', re.I)
		match = pattern.match(line)
		if(match):
			return True
	return False


#repeat 3 times
for x in xrange(0,3):
	if(checkhct() == False):
		print 'error'
            #程序路径
		os.system('D:\t\qq.exe')
	else:
		print 'running'
		flag = 0
		break

#if is't running

if(flag==1):
    #send email...
    ...
    ...

西安市羽毛球场馆目录

从百度贴吧转来的,有些信息不全,希望知道的TX做个补充

老高一般在西稍门江虹打球,欢迎交流!

  1. 石羊农庄羽羽毛球馆 球馆地址:雁翔路石羊农庄内(理工大学新校区南) 球馆概况:塑胶地面 12片场地 联系电话:85507505
  2. 老江虹羽羽毛球馆 球馆地址:西稍门外十字西100米 球馆概况:龙骨木地板 12片场地 联系电话:84260099

阅读剩余部分

转自手机中国论坛

apt.178.com------------------178第一中文源 我个人是推荐大家用这个的。。功能很多很强大

cydia.51ipa.com----------------很著名的51国产源。

cydia.xsellize.com---------------必备的源~

www.sinfuliphonerepo.com----大量PJ软件源。

cydia.clezz.com-------------------大量PJ软件源。

cy.sosiphone.com----------------PJ软件源。

kuaidial.googlecode.com/svn/deb-------------------软件kuaidial的官方源。

cydia.myrepospace.com/wi-inputmethod----------WI输入法官方源

cydia.myrepospace.com/wiim------------------------WI输入法官方源

i.danstaface.net/deb-------------下载vWallpaper官方源

iphonedelivery.advinux.fr/cydia--------下载iphonedelivery短信回执官方源

cydia.sogou.com------------------搜狗输入法官方源

mi.baidu.com-----------------------百度输入法官方源

DownLoad.voicecloud.cn/Cydia/---------------------讯飞语音输入法官方源

beta.notifiedapp.com------------下载Notified Pro 官方源

cydia.myrepospace.com/pw5a29ip4---------------Temperaturization 官方源

apt.25pp.com---------------------- pp助手官方源

一直在用everedit做开发,今天开始高大上,用一下netbeans

安装

  • netbeans下载页面找到PHP版的netbeans,下载下来并安装,表忘了JRE也要装的

  • xdebug下载页面下载对应PHP版本的xdebug,然后解压至php目录下的ext目录下,同时新建d:\xdebug文件夹

配置

PHP.INI

在phpinfo()页面中找到INI文件,在文件最后加入以下代码

;注意:我们的版本号可能不同
zend_extension="ext\php_xdebug-2.2.5-5.4-vc9.dll" 
[Xdebug]
;是否开启自动跟踪
xdebug.auto_trace= On
;是否开启异常跟踪
xdebug.show_exception_trace= On
;是否开启远程调试自动启动
xdebug.remote_autostart= On
;是否开启远程调试
xdebug.remote_enable= On
;允许调试的客户端IP
;xdebug.remote_host= 192.168.1.1
;远程调试的端口(默认9000)
xdebug.remote_port=9000
;调试插件dbgp
xdebug.remote_handler=dbgp
;是否收集变量
xdebug.collect_vars= On
;是否收集返回值
xdebug.collect_return= On
;是否收集参数
xdebug.collect_params= On
;跟踪输出路径
xdebug.trace_output_dir="d:\xdebug"
;是否开启调试内容
xdebug.profiler_enable=On
;调试输出路径
xdebug.profiler_output_dir="d:\xdebug"
;调试的域名
xdebug.remote_host=localhost

修改以后重启服务器,看看有没有出现xdebug,如果出现了,那就成功了一大半

netbeans

设置的地方在tool->option里找到debug标签,在这里可以修改PHP.EXE的路径,还有调试的工具和端口号等。

注意

  • 如果你用的远程调试,务必打开xdebug.remote_enable
  • 如果你用的域名调试,那么请修改xdebug.remote_host为你的域名,不要忘了加引号,不用带http://
  • 如果总是显示等待xdebug,那么就换一个web浏览器试试,在tool->option->general里可以找到
  • 如果还不行,请留言,老高和你一起搞!

调试

哈哈,这还用讲吗?上个图

netbeans开启xdebug

BBCODE,即BB代码,属于轻量级标记语言(Lightweight Markup Language)的一种,如字面上所显示的,它主要是使用在BBS、论坛、Blog等网络应用上。BBCode最初由Ultimate Bulletin Board讨论区系统发展出来,因此常见UBB代码的称呼。BBCode的语法通常为[标记]这种形式,即语法左右用两个中括号包围,以作为与正常文字间的区别。系统解译时遇上中括号便知道该处是BBcode,会在解译结果输出到客户端时转换成最为通用的HTML语法。

要过滤他有两个思路,一个是先转化为html,再用strip_tags即可,下面是具体函数

 $match) {
			list($tag, $param, $innertext) = array(
				$matches[1][$key],
				$matches[2][$key],
				$matches[3][$key]
			);
			switch ($tag) {
				case 'b':
					$replacement = "$innertext";
					break;
				case 'i':
					$replacement = "$innertext";
					break;
				case 'size':
					$replacement = "$innertext";
					break;
				case 'color':
					$replacement = "$innertext";
					break;
				case 'center':
					$replacement = "
$innertext
"; break; case 'quote': $replacement = "
$innertext
" . $param ? "$param" : ''; break; case 'url': $replacement = '$innertext"; break; case 'img': @list($width, $height) = preg_split('`[Xx]`', $param); $replacement = "'; break; } $string = str_replace($match, $replacement, $string); } } return $string; } $text = <<

第二种办法更简单,直接用正则把[]内的内容删除即可

$cont_str = trim( preg_replace("/\[.*\]/", '', $cont_str) );

推荐第二种方法