假设我有这样一段文字:
/TT0 1 Tf
0.002 Tc -0.002 Tw 11.04 0 0 11.04 221.16 707.04 Tm
[(\()-2(Y)7(o)7(u )-3(g)7(o)-2(t)4(i)-3(t)(\))]TJ
EMC
它是PDF文件的一部分。线
^{pr2}$
包含文本“(你找到了)”。所以我首先需要匹配文本行
^[(.*)]TJ$
有了这个捕获组,我可以应用\(((.*?)\)[-0-9]*)
并用\2
替换所有匹配项。在
有可能一步到位吗?在
Tags:
使用正则表达式解析嵌套组可能很困难、难以辨认或无法实现。在
寻址嵌套组的一种方法是使用parsing grammar。下面是一个使用Eric Rose的^{} 库的3步示例。在
输出
^{pr2}$台阶
2(t)
(第3行)中添加了一个空格,因为它被认为是在操作中丢失的parse
语法。如果语法被充分定义,那么AST会产生一组节点,反映源代码中已解析组件的结构。AST使这种方法更加灵活。在NodeVisitor
的子类化parsmonious
,它实现了Visitor Pattern。在现在,对于在pdf中遇到的新的或意外的文本,只需修改语法并再次解析即可。在
对于regex模块,您可以使用以下模式:
demo
图案细节:
^{pr2}$相关问题 更多 >
编程相关推荐