Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 使用正向前瞻和g-mail集成的时间正则表达式_Regex_Lookahead - Fatal编程技术网

Regex 使用正向前瞻和g-mail集成的时间正则表达式

Regex 使用正向前瞻和g-mail集成的时间正则表达式,regex,lookahead,Regex,Lookahead,我正在尝试使用正则表达式捕获以下数据。我似乎不能让它工作我想用空白作为一个停止,但迄今为止没有运气 located on 10/6/2015 5:18:14 GMT 我正在使用的正则表达式: 2015\s*(.+?)(?=\sGMT) 我试图简单地得到5:18:14,但我最终得到了5:18:14 任何帮助都会很好,我相信这是一个简单的解决方案,但我现在想不起来 谢谢大家的帮助,我最后写了这个剧本。最后我用了shaA.T的正则表达式 我从gmail邮件中获得了我所需要的数据,但是它似乎只在每个

我正在尝试使用正则表达式捕获以下数据。我似乎不能让它工作我想用空白作为一个停止,但迄今为止没有运气

located on 10/6/2015 5:18:14 GMT
我正在使用的正则表达式:

2015\s*(.+?)(?=\sGMT)
我试图简单地得到5:18:14,但我最终得到了5:18:14

任何帮助都会很好,我相信这是一个简单的解决方案,但我现在想不起来

谢谢大家的帮助,我最后写了这个剧本。最后我用了shaA.T的正则表达式

我从gmail邮件中获得了我所需要的数据,但是它似乎只在每个线程的第一条消息上运行。我一直在使用谷歌的不同方法,但运气不好

我试图让这个脚本遍历g-mail收件箱中的每一条消息,而不仅仅是每个线程的第一条消息。你们知道g-mail应用程序吗?这是我第一次使用谷歌脚本

function processInboxToSheet() {
  //var threads = GmailApp.getInboxThreads();
  // Have to get data separate to avoid google app script limit!



 var messages = GmailApp.getMessagesForThread();
 for (var i = 0 ; i < messages.length; i++) {

var content = messages[0].getRawContent();

   var SPREADSHEET_URL = "https://docs.google.com/spreadsheets";
var SHEET_NAME = 'Sheet1';  

  var spreadsheet = SpreadsheetApp.openByUrl(SPREADSHEET_URL);
var sheet = spreadsheet.getSheetByName(SHEET_NAME);  




    var content = messages[0].getRawContent();

    // implement your own parsing rule inside
    if (content) {
      var tmp;
      tmp = content.match(/\<\!\-\-\soutRadius\s\s\[*(.+?)\]/);

      var radius = (tmp && tmp[1]) ? tmp[1].trim() : 'Unknown Radius';

      tmp = content.match(/\<\!\-\-\sX\s\s\[*(.+?)\]/);
      var longitude = (tmp && tmp[1]) ? tmp[1].trim() : 'Unknown Latitude';

      tmp = content.match(/\<\!\-\-\sY\s\s\[*(.+?)\]/);
      var latitude = (tmp && tmp[1]) ? tmp[1].trim() : 'Unknown Longitude';

      tmp = content.match(/\The mobile number was located on\s*(.+?)\s/);
      var date = (tmp && tmp[1]) ? tmp[1] : 'Unknown date';

      tmp = content.match(/([\d:]*)\s*GMT/);
      var time = (tmp && tmp[1]) ? tmp[1] : 'Unknown time';

      sheet.appendRow([date, time, longitude, latitude, radius]);

      Utilities.sleep(500);
    }
  }


};

这是有效的,加上仅对时间值有效-这意味着它与foo GMT不匹配:

说明:

[0-9]{1,2}一个或两个小时的数字 :[0-9]{1,2}{2}两次冒号后跟两个数字分,秒 ?=\sGMT展望
我认为您可以使用这样的正则表达式:

/([\d:]*)\s*GMT/

请张贴您的实际代码。正则表达式不是孤立存在的。
/([\d:]*)\s*GMT/