3mile
发表于 2011-4-13 22:14:46
还是不知道哪些关键字是固定的
touch_xu
发表于 2011-4-14 09:18:25
回复 16# 3mile
NVM 01234 220C2A9A24 Pass
Rotation-1.0<=n=<1.0 0.1 Pass
X Tilt-2.0<=n=<2.0 -0.1 Pass
Y Tilt-2.0<=n=<2.0 1.4 Pass
红色的是固定出现的,后面的数值是会变的 pass 也是会变的,还要相对位置也是不固定,这次应该说清楚了,继续求教
想要的结果是:
220C2A9A24
0.1
-0.1
1.4
afan
发表于 2011-4-14 09:38:08
怎么又跟昨天的获取部分不一样了
touch_xu
发表于 2011-4-14 10:52:50
只是有一个关键字不一样,别的都一样,对正则实在头痛,关键是不能用相对位置
afan
发表于 2011-4-14 11:03:35
你现在精简到这么几行字符,缺少上下段的字符联系,正则通用性会大大降低
用昨天的附件才是正确的,而且针对昨天的附件,我在5#写的正则完全符合你的要求。
touch_xu
发表于 2011-4-14 11:15:16
先谢afan,昨天的是可以,请帮帮改下,因为golden id和下面一组的相对位置是不固定,我想独立获取这四个值,相互不受影响,后面三个可以一起获得了,多谢,因为正则这样简练的代码,我实在不会改
touch_xu
发表于 2011-4-14 11:19:25
下次发帖一定会一次说清楚的,不耽误大家犬多时间,谢谢各位
afan
发表于 2011-4-14 11:20:16
先贴出附件吧~
love5173
发表于 2011-4-14 12:30:05
回复 22# touch_xu
所谓的不固定那个出现的位置会跟下面的东西颠倒吗,只要能在上面出现 就可以用一句代码搞定 不是的话要稍微复杂点
love5173
发表于 2011-4-14 14:35:23
本帖最后由 love5173 于 2011-4-14 14:37 编辑
$txt="1.txt"
FileOpen($txt,1)
Global $word=FileRead($txt)
Global $a=StringRegExpReplace($word,'(?s).*?(NVM 01234)\h+(\H+).*?(Rotation)\h+\H+\h+(\H+).*?(X Tilt)\h+\H+\h+(\H+).*?(Y Tilt)\h+\H+\h+(\H+).*','\1:\2'&@CRLF&'\3:\4'&@CRLF&'\5:\6'&@CRLF&'\7:\8')
MsgBox(0,"",$a)
你也不回答我的问题,我先写一个nvm 一定在上面出现的例子吧
touch_xu
发表于 2011-4-14 19:02:30
本帖最后由 touch_xu 于 2011-4-14 19:10 编辑
回复 25# love5173
呵呵,不好意思,刚才看到你的签名:“有正则问题可以找我”我测试了,是提取不到啊
我又上传了附件,麻烦帮试下
---------- ------ ------------------
NVM 01234 220C2A9A24 Pass
--------------------------------------------------
Tilt and Rotation
Items Limits MeasuredResults
--------- ------------- ---------------
Rotation-1.0<=n=<1.0 0.1 Pass
X Tilt-2.0<=n=<2.0 -0.1 Pass
Y Tilt-2.0<=n=<2.0 1.4 Pass
NVM后面的值如果出现,Rotation 等后面的值才会出现,不过我从你们的代码中已经可以提取NVM 01234的值了
现在是想用一个正则提取Rotation X Y 三个值,不想NVM在一起了,这样方便判读错误,谢谢
love5173
发表于 2011-4-14 19:29:45
$txt="1.txt"
FileOpen($txt,1)
Global $word=FileRead($txt)
Global $a=StringRegExpReplace($word,'(?s).*?(NVM 01234)\s+([^\s]+).*(Rotation)\s+[^\s]+\s+([^\s]+).*?(X Tilt)\s+[^\s]+\s+([^\s]+).*?(Y Tilt)\s+[^\s]+\s+([^\s]+).*','\1:\2'&@CRLF&'\3:\4'&@CRLF&'\5:\6'&@CRLF&'\7:\8')
MsgBox(0,"",$a)请问你的附件里面 rotation 后面内容跟你在网站写的怎么格式有冲突?带个空格是你自己弄的?
afan
发表于 2011-4-14 20:10:27
(?si)NVM\V+?(\H+)\h+\H+\h+\v.+?-\s+Rotation.+?(\H+)\h+\H+\h+\v+.+?(\H+)\h+\H+\h+\v+.+?(\H+)\h+\H+\h+\v+
love5173
发表于 2011-4-14 20:16:25
回复 28# afan
大叔,我现在也没看出\H跟^\h有什么区别,是他的说明文件不对还是我中文太差
\H---任何不是水平的空白字符
到底是空白还是非空白
afan
发表于 2011-4-14 20:21:11
回复 29# love5173
区别就是 \H 比 [^\h] 少3个字符,书写更直观、简洁,而匹配作用一样~