匹配所有多个单独表达式的正则表达式

匹配所有多个单独表达式的正则表达式

现在是印度的入学时间,我正在尽最大努力考入最好的工程学院。

我有一个 pdf 文件,其中包含一个表格,如下所示

在此处输入图片描述

它包含大约 2500 多个条目,我有 3 天的时间。

因此,为了更好地筛选出适合我的大学,我需要将内容与多个正则表达式进行匹配,例如

  1. 应包含“计算机”或“信息”字词
  2. 应同时包含 GE 和 FALSE
  3. 应该匹配正则表达式[0-9]{5,}

我首先尝试在 中打开它libreoffice calc,但它在 中打开libreoffice Draw。我尝试了pdftohtmlpdftotext,但两者都弄乱了。

最后我找到了pdfgrep,但它不能与 grep 结合使用,因为,

pdfgrep regexp1 ./locn to file|grep regexp2|grep regexp3

给出错误

Binary file (standard input) matches

因此我要做的就是将一个正则表达式放入 pdfgrep 中,它将匹配我需要的所有正则表达式。

编辑:你可以下载 pdf这里

答案1

pdfgrep适用于页面,而不是行,因此.*您需要匹配除换行符[^\n]*之外的任何内容,而不是匹配任何内容,因此请确保匹配同一行。出于某种原因,[\n]被视为n\被忽略),pdfgrep因此需要一些技巧。试试这个:

pdfgrep  '(Computer|Information)'[^$'\n']'*GE'[^$'\n']*'FALSE'[^$'\n']*'[0-9]{5,}' Closing_Rank_After_Round_III.pdf  

在我的系统上,这将返回 82 行:

  17    DBLCSE4B                                          Computer Science & Engineering    GE    FALSE OTHERSTATE            33161
  33    DBLITY4B                                          Information Technology         GE    FALSE OTHERSTATE            38913
  74    DHACSE4B                                              Computer Science & Engineering    GE    FALSE OTHERSTATE            36528
  97    DJKCSE4B                                              Computer Science & Engineering    GE    FALSE OTHERSTATE            22030
 108     DJTCSE4B  Shri Mata Vaishno Devi University, J&K Computer Science & Engineering    GE    FALSE OTHERSTATE            41598
 112   DMUCOE4B    Mizoram University, Aizawl             Computer Engineering              GE    FALSE OTHERSTATE            39759
 124    DMUITY4B   Mizoram University, Aizawl   Information Technology             GE    FALSE OTHERSTATE            41723
 132    DTUCSE4B   Tezpur University, Tezpur    Computer Science & Engineering     GE    FALSE OTHERSTATE            36567
 161    IAAITY4B                                              Information Technology             GE    FALSE OTHERSTATE            19303
 173    IALITR5M                                               M.Tech Information Technology      GE    FALSE OTHERSTATE            12723
 181     IALITY4B                                              Information Technology             GE    FALSE OTHERSTATE            10649
 187    IGHCSE4B                                               Computer Science & Engineering    GE    FALSE OTHERSTATE            20054
 195    IGWITY4B   Information Technology & Management,        Information Technology            GE    FALSE OTHERSTATE            18357
 195    IGWITY4B   Information Technology & Management,        Information Technology            GE    FALSE OTHERSTATE            18357
 200     IJLCSE4B  of Information Technology Design &           Computer Science & Engineering    GE    FALSE OTHERSTATE            19427
 200     IJLCSE4B  of Information Technology Design &           Computer Science & Engineering    GE    FALSE OTHERSTATE            19427
 206     IJLECE4B  of Information Technology Design &                                             GE    FALSE OTHERSTATE            21863
 211    IJLMEC4B   of Information Technology Design &           Mechanical Engineering         GE    FALSE OTHERSTATE            22433
 217    IKOCOE4B                                                Computer Engineering      GE    FALSE OTHERSTATE            16837
 223    IKPCOE4B   Design & Manufacturing, Kancheepuram,        Computer Engineering      GE    FALSE OTHERSTATE            14202
 247    IVDCOS4B                                               Computer Science                     GE    FALSE OTHERSTATE            18374
 252     IVDITY4B                                              Information Technology               GE    FALSE OTHERSTATE            19973
 284    NAGCSE4B   National Institute of Technology, Agartala Computer Science & Engineering         GE    FALSE HOMESTATE            252288
 285    NAGCSE4B   National Institute of Technology, Agartala Computer Science & Engineering         GE    FALSE OTHERSTATE            27007
 443    NAPCSE4B                                               Computer Science & Engineering         GE    FALSE HOMESTATE            338141
 444    NAPCSE4B                                               Computer Science & Engineering         GE    FALSE OTHERSTATE            26762
 505    NBHCSE4B                                      Computer Science & Engineering    GE    FALSE HOMESTATE             11495
 608    NCACSE4B   National Institute of Technology, Calicut Computer Science & Engineering       GE    FALSE HOMESTATE    LD      657523
 735    NDUCSE4B   National Institute of Technology, Durgapur Computer Science & Engineering    GE    FALSE HOMESTATE    AN       80861
 736    NDUCSE4B   National Institute of Technology, Durgapur Computer Science & Engineering    GE    FALSE HOMESTATE    WB       19088
 737    NDUCSE4B   National Institute of Technology, Durgapur Computer Science & Engineering    GE    FALSE OTHERSTATE            11900
 772    NDUITY4B   National Institute of Technology, Durgapur Information Technology     GE    FALSE HOMESTATE    AN       95756
 773    NDUITY4B   National Institute of Technology, Durgapur Information Technology     GE    FALSE HOMESTATE    WB       26872
 774    NDUITY4B   National Institute of Technology, Durgapur Information Technology     GE    FALSE OTHERSTATE            16715
 811    NGOCSE4B   National Institute of Technology, Goa   Computer Science & Engineering    GE    FALSE HOMESTATE            102938
 812    NGOCSE4B   National Institute of Technology, Goa   Computer Science & Engineering    GE    FALSE OTHERSTATE            13100
 862    NHACSE4B   National Institute of Technology, Hamirpur Computer Science & Engineering    GE    FALSE HOMESTATE             34510
 863    NHACSE4B   National Institute of Technology, Hamirpur Computer Science & Engineering    GE    FALSE OTHERSTATE            13867
 933    NITCSE4B   Birla Institute of Technology, Mesra Ranchi Computer Science & Engineering     GE    FALSE HOMESTATE             10898
 955    NITITY4B   Birla Institute of Technology, Mesra Ranchi Information Technology                  GE    FALSE HOMESTATE             23647
 956    NITITY4B   Birla Institute of Technology, Mesra Ranchi Information Technology                  GE    FALSE OTHERSTATE            14055
1080    NJLCSE4B                                            Computer Science & Engineering    GE    FALSE HOMESTATE             13424
1081    NJLCSE4B                                            Computer Science & Engineering    GE    FALSE OTHERSTATE            12160
1129    NJLITY4B                                            Information Technology       GE    FALSE HOMESTATE             20270
1130    NJLITY4B                                            Information Technology       GE    FALSE OTHERSTATE            14973
1172    NJMCSE4B                                            Computer Science & Engineering    GE    FALSE HOMESTATE             22151
1173    NJMCSE4B                                            Computer Science & Engineering    GE    FALSE OTHERSTATE            13379
1280    NKUITY4B                                     Information Technology     GE    FALSE HOMESTATE             14993
1281    NKUITY4B                                     Information Technology     GE    FALSE OTHERSTATE            12373
1317   NMGCSE4B    National Institute of Technology, Meghalaya Computer Science & Engineering    GE    FALSE HOMESTATE             66882
1318   NMGCSE4B    National Institute of Technology, Meghalaya Computer Science & Engineering    GE    FALSE OTHERSTATE            30457
1354    NMRCSE4B   National Institute of Technology, Manipur Computer Science & Engineering    GE    FALSE HOMESTATE            335104
1355    NMRCSE4B   National Institute of Technology, Manipur Computer Science & Engineering    GE    FALSE OTHERSTATE            29987
1386    NMZCSE4B   National Institute of Technology, Mizoram Computer Science & Engineering    GE    FALSE HOMESTATE            780732
1387    NMZCSE4B   National Institute of Technology, Mizoram Computer Science & Engineering    GE    FALSE OTHERSTATE            33351
1500    NNGCSE4B   National Institute of Technology, Nagaland Computer Science & Engineering    GE    FALSE OTHERSTATE            32788
1538    NPACSE4B   National Institute of Technology, Patna Computer Science & Engineering    GE    FALSE HOMESTATE             26912
1539    NPACSE4B   National Institute of Technology, Patna Computer Science & Engineering    GE    FALSE OTHERSTATE            17852
1569    NPAITY4B   National Institute of Technology, Patna Information Technology         GE    FALSE HOMESTATE             31050
1570    NPAITY4B   National Institute of Technology, Patna      Information Technology            GE    FALSE OTHERSTATE            21633
1588    NPYCSE4B   National Institute of Technology, Puducherry Computer Science & Engineering    GE    FALSE HOMESTATE            212537
1589    NPYCSE4B   National Institute of Technology, Puducherry Computer Science & Engineering    GE    FALSE OTHERSTATE            13738
1655    NRACSE4B   National Institute of Technology, Raipur Computer Science & Engineering       GE    FALSE HOMESTATE             30599
1656    NRACSE4B   National Institute of Technology, Raipur Computer Science & Engineering       GE    FALSE OTHERSTATE            16002
1686    NRAITY4B   National Institute of Technology, Raipur Information Technology              GE    FALSE HOMESTATE             54124
1687    NRAITY4B   National Institute of Technology, Raipur Information Technology              GE    FALSE OTHERSTATE            20012
1746   NROCEC5M National Institute of Technology, Rourkela    and M.Tech. Computer Science 5-    GE    FALSE HOMESTATE             16014
1812    NROCSE4B   National Institute of Technology, Rourkela Computer Science & Engineering     GE    FALSE HOMESTATE             12845
1821   NROCSS5M    National Institute of Technology, Rourkela M.Tech. Information Security 5-    GE    FALSE HOMESTATE             16350
1822   NROCSS5M    National Institute of Technology, Rourkela M.Tech. Information Security 5-    GE    FALSE OTHERSTATE            10803
1986    NSICSE4B   National Institute of Technology, Silchar Computer Science & Engineering    GE    FALSE HOMESTATE             50138
1987    NSICSE4B   National Institute of Technology, Silchar Computer Science & Engineering    GE    FALSE OTHERSTATE            22448
2044    NSKCSE4B   National Institute of Technology, Sikkim  Computer Science & Engineering    GE    FALSE HOMESTATE            353234
2045    NSKCSE4B   National Institute of Technology, Sikkim  Computer Science & Engineering    GE    FALSE OTHERSTATE            24788
2173    NSRCSE4B   National Institution of Technology, Srinagar Computer Science & Engineering       GE    FALSE HOMESTATE             39818
2174    NSRCSE4B   National Institution of Technology, Srinagar Computer Science & Engineering       GE    FALSE OTHERSTATE            22786
2259    NSTCOE4B                                            Computer Engineering       GE    FALSE HOMESTATE    DD      173213
2260    NSTCOE4B                                            Computer Engineering       GE    FALSE HOMESTATE    GJ       10724
2427    NUDCSE4B                                     Computer Science & Engineering    GE    FALSE HOMESTATE             46818
2428    NUDCSE4B                                     Computer Science & Engineering    GE    FALSE OTHERSTATE            18978
2478    NUSITY4B   Assam University, Silchar               Information Technology             GE    FALSE HOMESTATE            107749
2479    NUSITY4B   Assam University, Silchar               Information Technology             GE    FALSE OTHERSTATE            38122

$'\n'称为ANSI C 转义序列。这些是将某些有问题的字符(例如非打印字符和引号)指定给无法以其他方式识别它们的程序的可移植且强大的方法。在这种情况下,我在字符类。当字符类以 开头时^,表示“匹配任何内容除了此类中的字符。因此,[^$'\n']表示“匹配除换行符之外的任何字符”。这确保了我们正在寻找的匹配都在同一行上。

答案2

它所说的是流中的某处存在“二进制”:

也许可以尝试:

pdfgrep regexp1 ./locn to file|grep --text regexp2|grep --text regexp3

或者尝试使用strings

根据琴弦手册,

   For each file given, GNU strings prints the printable character sequences that are at least 4 characters long (or the
   number given with the options below) and are followed by an unprintable character.  By default, it only prints the
   strings from the initialized and loaded sections of object files; for other types of files, it prints the strings from
   the whole file.

   strings is mainly useful for determining the contents of non-text files.

其他值得关注的:

相关内容