EDA365电子工程师网

标题: 如何提取axlCmdRegister("linda" '_debugFm)这一行里的"linda"? [打印本页]

作者: wuyuhe    时间: 2015-9-14 10:01
标题: 如何提取axlCmdRegister("linda" '_debugFm)这一行里的"linda"?
如何提取axlCmdRegister("linda" '_debugFm)这一行里的"linda"?用了parseString不行。

作者: deargds    时间: 2015-9-14 15:23
  1. rexCompile("\"\\(.*\\)\"")
  2. rexExecute( "axlCmdRegister(\"linda\" '_debugFm)" )
  3. rexSubstitute( "\\1")
  4. Result:linda
复制代码



作者: wuyuhe    时间: 2015-9-14 17:22
@deargds
如果这里的linda不是特定的呢?我的意思是这个是一个变量,可以为任意的字符,但是就是想要把它提取出来,怎么弄啊?
作者: deargds    时间: 2015-9-14 17:56
wuyuhe 发表于 2015-9-14 17:22
@deargds
如果这里的linda不是特定的呢?我的意思是这个是一个变量,可以为任意的字符,但是就是想要把它 ...

你试过代码没有?


作者: wuyuhe    时间: 2015-9-15 08:02
试过,直接用这段代码是可以直接提取LINDA的。
实际上我的想法是想实现直接读取一个XXX.IL的文件,当他读到axlCmdRegister("linda" '_debugFm)这一行时,就提取linda这个字段。由于il文件不是固定的,所以这一行的两个参数也不是固定的
作者: wuyuhe    时间: 2015-9-15 08:11
deargds 发表于 2015-9-14 17:56
你试过代码没有?

试过,直接用这段代码是可以直接提取LINDA的。
实际上我的想法是想实现直接读取一个XXX.IL的文件,当他读到axlCmdRegister("linda" '_debugFm)这一行时,就提取linda这个字段。由于il文件不是固定的,所以这一行的两个参数也不是固定的,就是不知道怎么提取这个字段所以想请高手帮帮忙的

作者: betamelody    时间: 2015-9-15 09:19
楼主最终想实现什么?
作者: deargds    时间: 2015-9-15 09:28
wuyuhe 发表于 2015-9-15 08:11
试过,直接用这段代码是可以直接提取LINDA的。
实际上我的想法是想实现直接读取一个XXX.IL的文件,当他 ...

第二行中需要提取的内容是变量。


作者: wuyuhe    时间: 2015-9-15 09:56
betamelody 发表于 2015-9-15 09:19
楼主最终想实现什么?

我的想法是想实现直接读取一个XXX.IL的文件,当他读到axlCmdRegister("linda" '_debugFm)这一行时,就提取linda这个字段。由于il文件不是固定的,所以这一行的两个参数也不是固定的

作者: wuyuhe    时间: 2015-9-15 10:09
deargds 发表于 2015-9-15 09:28
第二行中需要提取的内容是变量。

               _file=axlFormGetField(myForm "file_direction")
               fileport=infile(_file "w")
               cc=nil
               when(cc==nil
               while(gets(str fileport)
               if(rexMatchp("axlCmdRegister" str)
                then
                rexCompile("\"\\(.*\\)\"")
                rexExecute( "axlCmdRegister(\"linda\" '_debugFm)" ) ;就是这一句不知道怎么写
                name=rexSubstitute( "\\1")
                axlFormSetField(myForm "kuaijie" name)
                cc=t
                else
                cc=nil
                )))
还有能帮忙看这样写有问题不?


作者: betamelody    时间: 2015-9-15 10:18
wuyuhe 发表于 2015-9-15 09:56
我的想法是想实现直接读取一个XXX.IL的文件,当他读到axlCmdRegister("linda" '_debugFm)这一行时,就提 ...

如果是文件读取的话要先判断语句里面是否有特定字符(比如这里的特定字符是'axlCmdRegister')然后把
rexExecute( "axlCmdRegister(\"linda\" '_debugFm)" )
这一行换成
rexExecute( str )

如果是想通过读取文件获取系统里面skill注册的命令
有个函数 axlCmdList() 可以直接获取


作者: wuyuhe    时间: 2015-9-15 16:33
betamelody 发表于 2015-9-15 10:18
如果是文件读取的话要先判断语句里面是否有特定字符(比如这里的特定字符是'axlCmdRegister')然后把
rexE ...

试过了,可以了,非常感谢!






欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/) Powered by Discuz! X3.2