2017-05-03 105 views
0

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

有很多工具可以为有限集合执行此操作,如字典或语料库。例如,allwords.com可以选择“以......结尾”。但是,它会搜索一小部分文本。我正在寻找整个网络。

感谢您提供任何帮助。

大卫

回答

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) 
0

是的,有一种方法。

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

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

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

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

保存到一个文件夹(即web/

然后

cat web/* | grep otus 
+0

哈!谢谢你们俩。我的道歉,但我没有完全意识到如何专注于编程(这个名字应该已经把它给了,我知道)。我不是程序员,所以需要一个现有的网站工具/搜索引擎,可以为我搜索“结束词”搜索。有什么想法吗? – David

+0

不知道为什么这是搁置,因为我的问题(和f/u评论)似乎很好定义和界限。但是... c'est la vie。 – David