搜索引擎的单词结尾

时间:2017-05-03 23:54:34

标签: regex full-text-search

有没有办法在网上搜索以任何字母开头但以固定顺序结尾的单词?例如,我想在* otus上搜索返回莲花,POTUS,SCOTUS,希罗多德等。

有很多工具可以用于有限集,例如字典或语料库。例如,allwords.com有一个"以"结尾的单词的选项。但是,它会搜索一小组文本。我正在寻找整个网络。

感谢您提供的任何帮助。

大卫

2 个答案:

答案 0 :(得分:2)

这是一个经过修改的语言查找器 由于您正在搜索网络,因此使用Unicode 只有在需要时我才可以为ascii制作它。

组2 中捕获实际单词。

(?i)([^\pL\pN]*([\pL\pN](?:[\pL\pN_-]|\pP(?=[\pL\pN\pP_-])|[?.!])*otus)(?:\pP(?=[\pL\pN\pP_-])|[?.!])*(?=[^\pL\pN]|$))

https://regex101.com/r/HrFrEM/3

Formatted

 (?i)
 (                             # (1 start)
      [^\pL\pN]*                    # Not letters/numbers
      (                             # (2 start), Followed by letter/number
           [\pL\pN] 
           (?:
                [\pL\pN_-]                    # Letter/number or '-'
             |  
                \pP                           # Or, punctuation if followed by punctuation/letter/number or '-'
                (?= [\pL\pN\pP_-] )
             |  
                [?.!]                         # Or, (Add) Special word ending punctuation
           )*
           otus                          # Ends with this
      )                             # (2 end)
      (?:
           \pP                           # Or, punctuation if followed by punctuation/letter/number or '-'
           (?= [\pL\pN\pP_-] )
        |  
           [?.!]                         # Or, (Add) Special word ending punctuation
      )*
      (?= [^\pL\pN] | $ )
 )                             # (1 end)

答案 1 :(得分:0)

是的,有办法。

您可以从创建一个for循环开始,该循环将在0.0.0.0和255.255.255.255之间的每个可能的IP上执行反向DNS(如果您愿意,可以排除受限制的端口)。

恭喜,您现在拥有全球所有网站的所有网址。

然后,您可以创建一个for循环,它将迭代所有这些域,加载主页并递归加载超链接。

恭喜,您现在拥有整个网络!

将其保存到文件夹(即web/

然后

cat web/* | grep otus