我正在尝试为Google日历编写Google Apps脚本,该脚本会自动拒绝任何没有说明的邀请。
我正在使用getEvents调用来检索特定窗口中的事件,但我也想过滤它以仅包含状态为INVITED的事件。我写了一些有用的东西,但只有当我用getMyStatus检查我的状态时。无论我如何尝试将CalendarFilter与CalendarApp.GuestStatus.Invited一起使用,我都无法检索传递了该选项的事件。有什么建议吗?
这是我的工作代码。
function processInvites() {
var calendar = CalendarApp.getCalendarById("mycalendar@google.com");
var now = new Date();
var then = new Date(now.getTime() + (1000 * 60 * 60 * 24 * 7));
var events = [];
var loopEvents = calendar.getEvents(now, then);
if(loopEvents.length > 0){
for(j in loopEvents){
if(loopEvents[j].getMyStatus() == CalendarApp.GuestStatus.INVITED){
//if this event has no notes
if(loopEvents[j].getDescription() == ""){
loopEvents[j].setMyStatus(CalendarApp.GuestStatus.NO);
}
}
}
}
};
答案 0 :(得分:1)
试试这个:
function find($str) {
$n = preg_match_all("/\](.*?)\[(?=.*\):(.*?):\()/", strrev($str), $matches);
$result = Array();
for ($i = 0; $i < $n; $i++) {
$result[] = [strrev($matches[2][$i]), strrev($matches[1][$i])];
}
return $result;
}
$str = "(:xyz:) word word [match1] word word [match2] word [match...] word ...";
print_r(find($str));
# =>
Array
(
[0] => Array
(
[0] => xyz
[1] => match...
)
[1] => Array
(
[0] => xyz
[1] => match2
)
[2] => Array
(
[0] => xyz
[1] => match1
)
)