我正在尝试查找 %% EndPageSetup 和 LH(%% [Page:1] %%)= 之间的内容em> 使用正则表达式。我尝试了各种模式,但没有得到正确的输出。有人可以帮我这个吗?
%EndPageSetup
/ DeviceGray dup setcolorspace / colspABC exch def <... scol ......“一个VM? Pscript_WinNT_Incr开始 %% BeginResource:文件Pscript_T42Hdr 5.0 0 / asc42 0.0 d / sF42 {/ asc42~d Ji} bind d / bS42 {0 asc42 -M} bind d / eS42 {0 asc42 neg -M} b / Is2015?{version cvi 2015 ge} bind d / AllocGlyphStorage {Is2015?{!} {{string} forall}?} bind d / Type42DictBegin {25 dict
/FontName ~ d/Encoding ~ d 4 array astore cvx/FontBBox ~ d/PaintType 0 d/FontType 42 d/FontMatrix[1 0 0 1 0 0]d /CharStrings 256 dict
/。notdef 0 d&amp; E d / sfnts} bind d / Type42DictEnd {&amp; @ / FontName get~definefont! Ë}绑定 d / RDS {string currentfile~readtring !} executeonly d / PrepFor2015 {Is2015 {/ GlyphDirectory 16 dict d sfnts 0 get @ 2 ^ (glyx)putinterval 2 ^(locx)putinterval ! !} {! !}?}绑定d / AddT42Char {Is2015? {findfont / GlyphDirectory得到`E E! !} {findfont / sfnts get 4 ^ get 3 ^ 2 ^LH(%% [Page:1] %%)=
感谢。
答案 0 :(得分:1)
这可能有用
/EndPageSetup(.*?)LH\((?:.*?)\[Page: 1\](?:.*?)\) =/
答案 1 :(得分:1)
这适用于您的示例
%%EndPageSetup(.*?)\(%%\[.*?Page.*?\]%%\) =
在此处查看online on Regexr
确保激活s
(dotall)修饰符,以便可以将换行符与.
匹配。
您的结果将在捕获组1中。
如何激活修饰符以及如何获得结果取决于您的语言。
答案 2 :(得分:0)
这应该有效:
(?:%%EndPageSetup)(.*\n)*(?=LH\(%%\[Page: 1\]%%\) =)
第三个捕获组(?=LH\(%%\[Page: 1\]%%\) =)
使用正向前瞻,因此您可以匹配该组而不将其包含在结果中。
第二个捕获组(.*\n)
匹配包括换行符在内的所有字符。使用*
,您可以匹配前面标记/组中的0个或多个。
第一个非捕获组与(?:%%EndPageSetup)
匹配,并从结果中省略。
您也可以使用lookbehinds,但JavaScript不支持它们。