expect中的正则匹配[通俗易懂]

expect中的正则匹配[通俗易懂]文档原文:xpect_out(x,string)expect_out(x,start|end)如果expect匹配是采用高级正则表达式的话(-re参数表示高级正则表达式方式匹配),那么每个子模式都有一个序号,序号从1-9,如:setoutput”abbbcabkkkka”expect-indices-re”b(b*).*(k+)”$output那么:setexpect_out(0,start)==>

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

文档原文:

xpect_out(x,string)
expect_out(x,start|end)
如果expect匹配是采用高级正则表达式的话(-re参数表示高级正则表达式方式匹配),那么每个子模式都有一个序号,序号从1-9,如:
set output "abbbcabkkkka"
expect -indices -re "b(b*).*(k+)"  $output
那么:
set expect_out(0,start)                        ==>                1
set expect_out(0,end)                         ==>                10
set expect_out(0,string)                 ==>                bbbcabkkkk
set expect_out(1,start)                 ==>                2
set expect_out(1,end)                         ==>                3
set expect_out(1,string)                 ==>                bb
set expect_out(2,start)                 ==>                10
set expect_out(2,end)                         ==>                10
set expect_out(2,string)                 ==>                k
set expect_out(buffer)                         ==>                abbbcabkkkk

Jetbrains全家桶1年46,售后保障稳定

解释:

expect -indices -re "b(b*).*(k+)"  $output
那么:
                    /set expect_out(0,start)    <- 匹配项的起始位置    ==>                      1
整个匹配项        ---set expect_out(0,end)      <- 匹配项的结束位置    ==>                      10
                    \set expect_out(0,string)   <- 匹配项的具体内容    ==>                      bbbcabkkkk
                  
                    /set expect_out(1,start)    <- 匹配项的起始位置    ==>                      2
第一个括号的匹配项---set expect_out(1,end)      <- 匹配项的结束位置    ==>                      3
                    \set expect_out(1,string)   <- 匹配项的具体内容    ==>                      bb
                  
                    /set expect_out(2,start)    <- 匹配项的起始位置    ==>                      10
第二个括号匹配项  ---set expect_out(2,end)      <- 匹配项的结束位置    ==>                      10
                    \set expect_out(2,string)   <- 匹配项的具体内容    ==>                      k
                  
输入的内容        ---set expect_out(buffer)                            ==>                      abbbcabkkkk
string=abbbcabkkkk 
pattern :b(b*).*(k+)
第一个括号对应(b*)的左括号,此时在string中的位置是1
第二个括号的startend都是10

注意.*在这里是贪婪匹配,也就是说会尽可能多的匹配
所以pattern的各个项对应关系:

匹配项 匹配值
b b
(b*) bb
.* cabkkk
(k+) k
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/203979.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 555施密特触发器电路图_555定时器构成的施密特触发器

    555施密特触发器电路图_555定时器构成的施密特触发器目录方法作用内部电路分析555内部电路图分析仿真电路图仿真结果总结将555的6脚和2脚连接在一起,并在5脚接上0.01uF的电容用于滤波,这就构成了施密特触发器。施密特触发器可作为波形整形电路,能将模拟信号波形整形为数字电路能够处理的方波波形,而且由于施密特触发器具有滞回特性,所以可用于抗干扰,其应用包括在开回路配置中用于抗扰,以及在闭回路正回授/负回授配置中用于实现多谐振荡器。百度百科:https://baike.baidu.com/item/%E6%96%

    2022年10月26日
    0
  • 奥迪token失效,请重新登录_请求token失效怎么解决

    奥迪token失效,请重新登录_请求token失效怎么解决出现Token失效,请重新登录重新登录下就好了啊1首先我们的先拿到token2.放上Authorize再去测试自己的接口这样就好了

    2022年9月3日
    12
  • pytest的assert_java单元测试断言

    pytest的assert_java单元测试断言前言断言是写自动化测试基本最重要的一步,一个用例没有断言,就失去了自动化测试的意义了。什么是断言呢?简单来讲就是实际结果和期望结果去对比,符合预期那就测试pass,不符合预期那就测试failed

    2022年7月29日
    4
  • auto_increment 自增键的一些说明

    auto_increment 自增键的一些说明

    2021年11月7日
    49
  • deepin安装rabbitvcs svn[通俗易懂]

    deepin安装rabbitvcs svn[通俗易懂]https://bbs.deepin.org/post/189817

    2022年7月18日
    16
  • 对知识推理的认识的相关论文

    对知识推理的认识的相关论文​论文一()中文引用格式:官赛萍,靳小龙,贾岩涛,王元卓,程学旗.面向知识图谱的知识推理研究进展.软件学报,2018,29(10):29662994.http://www.jos.org.cn/1000-9825/5551.htm1.1知识推理的简介面向知识图谱的知识推理旨在基于已有的知识图谱事实,推理新的事实或识别错误知识。例如,在DBpedia中已知三元组(X,birthPlace,Y),可以在很大程度上推理出缺失的三元组(X,nationality,Y)。主要分为:

    2022年6月5日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号