关于易语言正则表达式使用的一些心得体会

易语言采集网页信息的时候,经常会用到正则表达式,而正则表达式的语法组合用法实在是太多种了,我们在使用过程中根本不知道该怎么用,今天就来介绍几种常用的方法,采集任何网页信息都不在话下!先介绍几个常用的语法,后面我们再讲常用的语句。

“*”代表匹配零次到多次;“+”代表匹配一次或者多次 (至少一次);“?“匹配零次或一次;“. ”匹配单个字符 ;“\w” 表示英文字母和数字 “\W” 非字母和数字;“\d” 表示数字 “\D” 非数字;“\” 转义字符 如上基本符号匹配都需要转义字符 如 \* 表示匹配*号;“( ) ”小括号表示匹配括号中全部字符。

上面就是常用的语法了,而我们经常用到的语句都是这些基础表达式语法组合起来的,例如(\d+\.\d+\.\d+\.\d+),这个表达式就代表的匹配IP地址,因为IP地址都是192.168.1.1这个格式的,而\d+代表匹配数字,\.代表匹配.本身,()代表只匹配括号里面的内容。

下面我们再来介绍几个常用的表达式语句。

常用表达式语句1:“.*?”

说明:“.*?”表示匹配任意字符任意次,例如取“123zhaoyang5seo456”里“123”和“456”中间的内容,我们可以写表达式为:“123(.*?)456”,这样就能匹配到“zhaoyang5seo”了。看看效果吧。(注意:表达式文本只能用英文状态下的符号;此表达式不能匹配换行符;中文也可以匹配到哦)

faf2b2119313b07edd08803999e8442797dd8c0a实例1

万能正则表达式([\s\S]*?)

先来介绍一下这个表达式是做什么用的。([\s\S]*?)意为匹配任意多行文本,用这个表达式就代表你可以取到网页上的任何内容。继续举例:

这是要取到的原文本

<p>

<td>姓名</td><td>张三</td>

<td>姓名</td><td>李四</td>

</p>

因为有换行符,我们用(.*?)是取不到“张三”和“李四”所在行的内容,此时就用到了([\s\S]*?)这个表达式。我们来看看实例截图:

8d5494eef01f3a29598658e70c1a69355c607c15基本上记住这两个表达式,你在写易语言工程的时候就可以取出任何内容了。

未经允许不得转载:搬瓦工评测网 » 关于易语言正则表达式使用的一些心得体会