Editplus正则表达式使用的一个小技巧

December 23rd, 2005

原文:
0 但/c#O 今年/nt#O 2月/nt# Nrx 国际/n#O 足联/j#O 主席/n#O 布拉特/nh# Nhx 这样/r#O 说/v#O 过/u#O :/wp#O “/wp#O 亚洲/ns#Ns 如果/c#O 想/v#O 增加/v#O 参赛/v#O 名额/n#O ,/wp#O 本届/r#O 大赛/v#O 上/nd#O 取得/v#O 好/a#O 成绩/n#O 是/v#O 关键/n#O 。/wp#O ”/wp#O
0 路平/nh# Nhx :/wp#O 谈笑/v#O 世界/n#O 怀/v#O http:/wp#O 年/q#O 06月24日/nt# Nrx 13:41/m#Nu 新/a#O 浪/n#O 体育/n#O 沙龙/nh#Nh 网友/n#O 写/v#O 这/r#O 篇/q#O 稿子/n#O 时/n#O ,/wp#O 世界/n#O 怀/v#O 比赛/v#O 已经/d#O 进行/v#O 到/v#O 四分之一/m#Nu 决赛/v#O 了/u#O 。/wp#O
0 诺贝尔奖/nz#Nz 得主/n#O 斯坦伯格/nh# Nhx :/wp#O 谴责/v#O 裁判/n#O 似乎/d#O 有些/r#O 匆忙/a#O http:/wp#O 年/q#O 06月21日/nt# Nrx 13:35/m#Nu 新/a#O 浪/n#O 体育/n#O 注/v#O :/wp#O 杰克・斯坦伯格/nh#Nh (jacksteinberger)1921/ws#O 年/q#O 5月25日/nt#Nr 生于/v#O 德国/ns#Ns 的/u#O 巴特基辛根/nh#Nh 。/wp#O

问题:想要提取每一句中的Nhx前的一个词语。

在在中用正则表达式
(.+) ([^/]+/nh# Nhx )(.+)
替换为
2

则原始文本变成:

布拉特/nh# Nhx
路平/nh# Nhx
斯坦伯格/nh# Nhx

thanks mjs.

This post has been viewed 153 times.

Tags: ,

Related posts


在Windows环境下用Editplus打造一个Python编辑调试环境

September 25th, 2005

图文格式请下载下面的文件。

http://lwkj.blogchina.com/inc/editplus-python.pdf

 

有很多集成开发工具,商业的有komodoWingideBoa等,还有自带的集成环境IDLE下还有Pythonwin等。但是,这些工具有的是过于复杂,有的是对Unicode支持的不太好。因此,今天我们利用一个很流行的,功能也非常强大的文本编辑软件,改造成一个能够很好的支持编辑,浏览,运行及调试的开发环境,并且具备语法加亮,自动完成,自动缩进,新建文件模板等功能支持。我们用的v2.202.4版。

1.要使能够运行程序,首先打开tools->Preferences对话框,在User tools里新建一个group,名字我们叫,在 group里新建一个工具也起名为,分别在Menu text:填入,在Command:填入的安装路径,Argument:填入$(FileName)Initial Directory:填入$(FileDir)。完成这一步的结果如下图(1):

 

 

(1)

 

这样我们在里打开一个文件,在tools菜单下就会有一个选项,直接单击就可以运行程序了,也可以利用快捷键(Ctrl1),根据你设置用户工具的个数,这个快捷键可能有所不同。如下图(2):

 

(2)

 

在此处我们想实现下面的一个功能:就是当程序出错的时候,解释器会给出类似如下的提示信息:

———- ———-

File “test.py”, line 6

print “a

^

SyntaxError: EOL while scanning single-quoted string

 

Output completed (1 sec consumed) - Normal Termination

 

此时,我们一般会根据提示的行号到文本中去找错误的地方,而不能够象其他的编译器一样直接双击错误的提示,将光标直接移动到错误行。此时如果我们直接双击某行,则会出现找不到某文件的错误。此处,我们就利用Output Pattern的实现这个功能。具体做法如下,在图(1)中的Capture Output选项前的复选框要选上,然后打开Output Pattern按钮,在Output Pattern对话框中,首先取消Use default output pattern选项前的复选框,在Regular expression栏里填入正则表达式如下:

File “(.+)”, line ([0-9]+)

File Name栏里选择Tagged expression 1

Line栏里选择Tagged expression 2

Column栏里为None

结果如图(3):

 

(3)

然后我们直接双击错误提示信息行

File “test.py”, line 6

光标就会直接跳到第六行,非常的方便,尤其是当多个文件互相调用的时候,这种方法可以方便打开文件找到错误的位置。

2.为了实现语法加亮和自动完成功能,我们必须下载两个文件,下载地址为

http://www.editplus.com/files/pythonfiles.zip ,解压到的安装目录下。压缩包有三个文件,此处我们用到两个,.acp文件和python_extd.stx文件。Acp文件是自动完成文件,stx文件是语法加亮文件。怎样加载呢?方法如下:

tools->preferences->Setting & syntax下,首先新建一个文件类型,我们命名为,扩展名(file extensions)栏里我们填入py。在syntax file栏里我们找到刚才下载的python_extd.stx文件,在Auto completion栏里找到.acp文件,在Function Pattern栏里填入:

[ ]*def[ ].+:

这样我们就可以通过CtrlF11快捷键直接显示出文件中的函数列表。设置完成如下图(4):

 

(4)

 

这时我们打开一个文件,就可以看到有语法加亮了。但是我们在编辑的时候会发现一个问题就是,在输入冒号后,没有自动缩进,当然,如果我们手工缩进后会发现后面的输入也进行了同样的缩进,怎样让自动识别冒号然后直接缩进,并且如何修改缩进的长度呢?在图(4)中,我们可以看到一个Tab/Indent标签,打开他可以看到TabIndent的选项,分别填入自己习惯的距离。我两个都填入4,并且选中Insert spaces instead of tabEnable auto indent。然后在Auto Indent open里填入一个冒号“:”。完成设置以后如下图(5):

 

 

(5)

其他的设置也可以根据类似的设置进行。

3.还有一点很方便的是,可以通过建立一个文件的模板,来快速新建一个文件。首先我们建立一个名为template.py的文件,内容自定,我们这里假设如下:

�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D

“”"

Usage:

 

“”"

�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D�D

保存,将template.py文件放到安装目录下。

Tools->preferences->templates

打开模板设置对话框,首先添加一个名为的模板,把file path设置到我们刚才建立的template.py文件上。配置结果如图(6):

 

图(6

点击load按钮。完成。这样在file->New->下就会有一个模板,直接可以方便的建立一个文件。

至此,已经可以方便的编辑,浏览,调试和运行程序了。最后还要提醒一点的是,个人使用习惯不同,可以根据类似的方法进行修改和调整。通过以上的介绍,我们可以看出,可以很方便的配置,能够完成常用的大部分功能,有效的提高编程效率。

This post has been viewed 159 times.

Tags: , , , , ,

Related posts


Close
E-mail It