使用AppleScript/JavaScript在大型文本上提取IP

问题描述:

我试图选择一个大文本并从该文本中提取所有IP。 E.g使用AppleScript/JavaScript在大型文本上提取IP

fdsfsfsdfsd 36.23.227.234 Paris,FR FKGNGH 2df2df5cdsss 12151281250 November 23d, 2014 November 23d, 2014 titlethere 6928699 dfgdfgdfg REWG50 US$50.00
fdsfddfseed 96.8.225.128 London,UK FDGSDS ASDGSDG22GDS 33583855464 January 30d, 2011 January 30d, 2011 titlethere 34576874 dsfasdg ASASDF41 US€0.00

结果将是36.23.227.234 96.8.225.128

这可能吗?因为数据非常随机?可以AppleScript或更多的JavaScript我猜可以做到这一点?

您可以使用正则表达式match()功能在JavaScript:

var str = 'fdsfsfsdfsd 36.23.227.234 Paris,FR FKGNGH 2df2df5cdsss 12151281250 November 23d, 2014 November 23d, 2014 titlethere 6928699 dfgdfgdfg REWG50 US$50.00 fdsfddfseed 96.8.225.128 London,UK FDGSDS ASDGSDG22GDS 33583855464 January 30d, 2011 January 30d, 2011 titlethere 34576874 dsfasdg ASASDF41 US€0.00'; 
var regexp = /\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b/gi; 
var matches_array = str.match(regexp); 
console.log(matches_array); 

,让你数组[ “36.23.227.234”, “96.8.225.128”]

一个字符串出现的所有见https://*.com/a/41610014https://*.com/a/32689475为正则表达式找到IP地址。

+0

谢谢,这似乎与我写的演示线很好,但是当我尝试在大数据的情况下,我有这种“线1上的错误:SyntaxError:意外的EOF” –

+0

由于数据存在在多行上(请参阅http://*.com/a/26325623/1619146)。我想我会按照你的测试数据去除这个。 您可以将一个反斜杠(\)添加到每个新行以将所有内容保存在一个字符串中。这将需要一些手动工作,或者您可以从输出数据的位置进行操作。 – Asmund

+0

谢谢,是的,我会找到一种方法来添加一些反斜杠,谢谢。 –