TokenManager不会感知Parser的存在,这意味着TokenManager会尽量匹配足够长的终结符,而不是依据Parser的语法规则。 当被解析的文本为" @@ "时,TokenManager并不会根据Parser的需要返回两个<A>,而是直接将 @@ 认作<B>并传送给Parser,Pa ...
分类:
编程语言 时间:
2017-04-12 04:39:51
阅读次数:
154
问题:在迭代操作或者其他操作的时候,怎样只保留后有限几个元素的历史记录? 解决方案:保留有限历史记录正是 collections.deque 大显身手的时候。比如,下面的代码在多行上 面做简单的文本匹配, 并只返回在前N行中匹配成功的行: 讨论:我们在写查询元素的代码时,通常会使用包含 yield ...
分类:
其他好文 时间:
2017-04-10 23:05:45
阅读次数:
190
起因:在查找一些控件时,可能控件的一些属性是变化的,那在匹配时需要进行模糊匹配,模糊匹配,使用xpath 定位方式有种: contains(属性名,字符串):使用文本匹配,功能很强大 starts-with(属性名,字符串):根据开头进行模糊匹配 ends-with(属性名,字符串):根据结尾内容进 ...
分类:
其他好文 时间:
2017-02-17 20:19:03
阅读次数:
566
1、什么是正则表达式? 正则表达式,又称规则表达式,是一门小型的语言,通常被用来检索、替换那些符合某个模式(规则)的文本。 2、匹配字符: . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始 $ ...
分类:
其他好文 时间:
2017-02-13 13:59:54
阅读次数:
215
regex用法: . 匹配除换行符以外的任意文本 \w 匹配字母或数字或下划线或汉子 反义符-(^\w) \s 匹配任意的空白符(空格,TAB\t,回车\r,制表符\n) 反义符-(^\s) \d 匹配数字【0-9】反义符-[^0-9] ^ 匹配字符串的开始 $ 匹配字符串的结束 \b 匹配单词的开 ...
分类:
其他好文 时间:
2016-11-02 23:30:25
阅读次数:
214
正则表达式是一种用来进行文本匹配的工具,其语法优美简洁。在开发中,查找、对比以及匹配字符串是家常便饭的业务,通过正则表达式我们将这些业务描 述成某些需求规则,来让我们的代码更美观、实用。例如我们要验证用户输入的密码长度是否满足6~18位的长度,新手最常见的验证方式是判断输入的密码长度return ( ...
分类:
移动开发 时间:
2016-10-04 14:10:31
阅读次数:
216
正则表达式是你所定义的模式模板(pattern template), Linux可以利用它来过滤文本。 正则表达式类型正则表达式是通过正则表达式引擎实现的。正则表达式引擎是一套底层软件,复杂解释正则表达式并使用这些模式进行文本匹配。在Linux中,有两种流行的正则表达式引擎。 - POSIX基础正则... ...
分类:
其他好文 时间:
2016-09-10 22:02:07
阅读次数:
184
问题:在字符串的开头或结尾处按照指定的文本模式做检查,例如检查文件的扩展名、URL协议类型等; 解决方法:使用str.startswith()和str.endswith()方法 若同时针对多个选项做检查,只需给函数startswith()和str.endswith()提供包含多个可能选项的元组即可: ...
分类:
编程语言 时间:
2016-08-13 11:24:53
阅读次数:
281
问题:希望在迭代或是其他形式的处理过程中对最后几项记录做一个有限的历史记录统计 解决方案:选择collections.deque。 如下的代码对一系列文本行做简单的文本匹配操作,当发现有匹配时就输出当前的匹配行以及最后检查过的N行文本: 正如上面的代码一样,当编写搜索某项记录的代码时,通常会用到含有 ...
分类:
编程语言 时间:
2016-08-06 17:15:34
阅读次数:
237
egrep或者grep-E与grep相比进行文本匹配的时候使用的扩展的正则表达式,那么扩展的正则表达式与正则表达式有什么区别呢?1基本的正则表达式:字符匹配:.:任意单个字符[]:某一字符集中的单个字符例如[0-9]表示任意个位数[^]:不属于某一字符集中的单个字符例如[^[:space:]]表示..
分类:
系统相关 时间:
2016-07-14 16:01:30
阅读次数:
308