229989799 发表于 2018-8-20 15:03:23

【已解决】不懂正则请afan或者论坛牛人帮下

本帖最后由 229989799 于 2018-8-21 14:43 编辑

网页查看源代码后续提取'User_1'>和</span> 之间的内容,如:
'<span id='User_1'>张三</span> 提取后 张三 。
<span id='Mac_1'>11-22-33-44-55-66</span>提取后 11-22-33-44-55-66

因为不懂正则,sorry 。求帮个忙。。请afan或者论坛牛人帮下,不知妥否

方法如下:

Local $sSource = "<span id='User_1'>张三</span>"
MsgBox(0, '源字符串', $sSource)
Local $aSRE = StringRegExp($sSource, "(?mi)_\d+'>(.+?)<", 1)
MsgBox(0,"提取字符串",$aSRE)



再次感谢A版 afan 好像神一样存在我婶婶的脑海里,哈

afan 发表于 2018-8-20 16:39:09

这个简单,就按你的描述直接取
(?mi)_\d+'>(.+?)<

yuantian 发表于 2018-8-20 18:36:34

本帖最后由 yuantian 于 2018-8-20 18:38 编辑

afan 发表于 2018-8-20 16:39
这个简单,就按你的描述直接取
请教AFan,
(?mi)
这个是什么意思??语法里没有发现这个呀?多谢回复。

afan 发表于 2018-8-20 18:43:44

yuantian 发表于 2018-8-20 18:36
请教AFan,

这个是什么意思??语法里没有发现这个呀?多谢回复。

等同于 (?m)单行匹配 + (?i) 不区分大小写

yuantian 发表于 2018-8-20 18:45:52

本帖最后由 yuantian 于 2018-8-20 18:47 编辑

afan 发表于 2018-8-20 18:43
等同于 (?m)单行匹配 + (?i) 不区分大小写
多谢大大,又学习到了新的知识,谢谢。
所以,更全面的正则表达式的学习方式是什么?
我现在看的网页是这里:http://deerchao.net/tutorials/regex/regex.htm

afan 发表于 2018-8-20 18:47:17

yuantian 发表于 2018-8-20 18:45
多谢大大,又学习到了新的知识,谢谢。
所以,更全面的正则表达式的学习方式是什么?
我现在看的网页是 ...

不客气~            

229989799 发表于 2018-8-21 08:44:21

afan 发表于 2018-8-20 16:39
这个简单,就按你的描述直接取

代码不会用。嘿嘿。。
能否给个例子,比如下面只提取张三
<span id='User_1'>张三</span>

afan 发表于 2018-8-21 09:25:32

229989799 发表于 2018-8-21 08:44
代码不会用。嘿嘿。。
能否给个例子,比如下面只提取张三
张三
### 友情提示:本脚本由 Au3.REHelper 于 2018/08/21 09:25 自动生成,不保证其正确性,请自行测试 ###
#include <Array.au3>
Local $sSource = "<span id='User_1'>张三</span>"
;~MsgBox(0, '源字符串', $sSource)
Local $aSRE = StringRegExp($sSource, "(?mi)_\d+'>(.+?)<", 1)
If Not @Error Then MsgBox(0, '匹配数量: ' & UBound($aSRE), '其中元素为: ' & $aSRE)
_ArrayDisplay($aSRE, UBound($aSRE))

229989799 发表于 2018-8-21 14:39:56

本帖最后由 229989799 于 2018-8-21 14:41 编辑

afan 发表于 2018-8-21 09:25

多谢afan热心回答。原来错在了最后输出MsgBox(0,"提取字符串",$aSRE)。。,$aSRE后面要加个,不加这个就返回是空值了。学习了。。

Local $sSource = "<span id='User_1'>张三</span>"
MsgBox(0, '源字符串', $sSource)
Local $aSRE = StringRegExp($sSource, "(?mi)_\d+'>(.+?)<", 1)
MsgBox(0,"提取字符串",$aSRE)


afan 发表于 2018-8-21 14:41:56

229989799 发表于 2018-8-21 14:39
多谢afan热心回答。原来,$aSRE后面要加个,不加这个就返回是空值了。学习了。。
Local $sSource = " ...

所以我的测试模板有两种方式查看,一种是直接查看元素,需使用下标,一种是查看数组,直接使用变量名
页: [1]
查看完整版本: 【已解决】不懂正则请afan或者论坛牛人帮下