小编use*_*035的帖子

在 IMAP 收件箱中搜索来自特定发件人的邮件并使用通配符?

是否可以使用通配符在 IMAP 文件夹中搜索特定发件人?

typ, data = M.SEARCH(None, 'from','"security@website*"')
Run Code Online (Sandbox Code Playgroud)

python imap

3
推荐指数
1
解决办法
2493
查看次数

比较关于键顺序的两个关联数组

假设我们有2个关联数组:

<?php
$array1 = array(
    1 => 2,
    2 => 1,
);

$array2 = array(
    2 => 1,
    1 => 2,
);
Run Code Online (Sandbox Code Playgroud)

它们包含相同的元素,但顺序不同.我想编写一个比较函数,只有在以下情况下才会给出:

  1. 数组具有相同的key =>值对.
  2. 对的顺序是相同的.

所以,我尝试了以下内容:

1尝试

if ($array1 == $array2)
{
    print "equal\n";
}
Run Code Online (Sandbox Code Playgroud)

印刷品:平等

2试试

print count(array_diff_assoc($array1, $array1));
Run Code Online (Sandbox Code Playgroud)

印刷品:0

我的自定义功能

然后我创建了以下函数:

function compare(&$array1, &$array2)
{
    $n1 = count($array1);
    $n2 = count($array2);
    if ($n1 == $n2)
    {
        $keys1 = array_keys($array1);
        $keys2 = array_keys($array2);
        for ($i = 0; $i < $n1; ++$i)
        {
            if ($keys1[$i] == $keys2[$i])
            {
                if …
Run Code Online (Sandbox Code Playgroud)

php arrays associative-array

3
推荐指数
1
解决办法
2088
查看次数

合并单元格的PHPExcel setAutoSize

代码没有合并

$objPHPExcel = new PHPExcel();
$sheet = $objPHPExcel->getActiveSheet();

$sheet->setCellValueByColumnAndRow(0, 1, 
        "test test test test test test test test");
$sheet->getColumnDimension('A')->setAutoSize(true);

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save("test.xlsx");
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

合并代码

$objPHPExcel = new PHPExcel();
$sheet = $objPHPExcel->getActiveSheet();

$sheet->setCellValueByColumnAndRow(0, 1, 
        "test test test test test test test test");
//this breaks the width calculation
$sheet->mergeCells('A1:B1');
$sheet->getColumnDimension('A')->setAutoSize(true);

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save("test.xlsx");
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

据我所知,没有标准的方法来设置合并单元格的自动大小.这有什么解决方法吗?

php phpexcel

3
推荐指数
1
解决办法
1万
查看次数

gethash不适用于字符串键

在elisp中研究哈希表,我试着写一个简单的例子:

(setq animals (make-hash-table))
(puthash "tiger" 120 animals)
(gethash "tiger" animals)
Run Code Online (Sandbox Code Playgroud)

当我逐行执行它们时,调用gethash返回nil,尽管事实上,当我评估动物符号时,emacs会打印出这样的信息:

#s(hash-table size 65 test eql rehash-size 1.5 rehash-threshold 
0.8 data ("tiger" 120 ...))
Run Code Online (Sandbox Code Playgroud)

所以,"老虎"就在那里,但是由于某些原因,gethash不会返回它.

怎么了?

哈希表函数的文档

emacs elisp

3
推荐指数
1
解决办法
139
查看次数

bash如何使用当前时间的小时数

我可以.bash_profile在用户登录系统时输入命令.我想在某些时间禁止登录.算法:

if((HOUR(now) == 13) || (HOUR(now) < 7))
    exit
Run Code Online (Sandbox Code Playgroud)

我知道,如何在C中做这样的事情:

#include <stdio.h>
#include <time.h>

int main(int argc, char *argv[])
{
    time_t rawtime; time (&rawtime);
    struct tm *tm_struct = localtime(&rawtime);

    int hour = tm_struct->tm_hour;

    if((hour == 13) || (hour < 7))
    {
        printf("hi\n");//exit will be used instead
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但我不知道,如何在bash中实现它.

bash time

2
推荐指数
1
解决办法
107
查看次数

\ d + regexp在开头忽略减号

我遇到了Perl的行为,我无法解释:

#!/usr/bin/perl

use strict;
use warnings;

my $number = -10;
if ($number =~ /\d+/) {
    print $number;
}
Run Code Online (Sandbox Code Playgroud)

-10尽管如此,这打印出来

  • \ d表示[0-9]

为什么它在开始时忽略减去?

regex perl

2
推荐指数
1
解决办法
185
查看次数

PHP数组排序和输出行为

我有这个数组

$arr = array('key1' => 1, 'key3' => 3, 'key2' => 2);
Run Code Online (Sandbox Code Playgroud)

现在我想按值的降序对数组进行排序。所以我尝试了以下操作

arsort($arr);
print_r($arr);
Run Code Online (Sandbox Code Playgroud)

输出

Array(
    [key3] => 3
    [key2] => 2
    [key1] => 1 
)
Run Code Online (Sandbox Code Playgroud)

但是当我尝试以下操作时,我得到的输出为 1

print_r(arsort($arr));
Run Code Online (Sandbox Code Playgroud)

由于我正在对数组进行排序,然后在两种情况下都输出,为什么它会给我不同的输出?

php arrays sorting

2
推荐指数
1
解决办法
589
查看次数

Emacs:替换文件扩展名

给定文件名我想将文件扩展名替换为".org"

我决定使用replace-regexp-in-string功能:

(replace-regexp-in-string "\\(.*\\)\..*$" "\\1.org" "file.conserv.module")
Run Code Online (Sandbox Code Playgroud)

输出:

"file.conserv.modul.org"
Run Code Online (Sandbox Code Playgroud)

我想,它会像Perl程序一样返回"file.conserv.org":

my $str = 'file.conserv.module';
$str =~ s/(.*)\..*$/$1.org/;
print $str;
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得"file.conserv.org"?

regex emacs elisp

2
推荐指数
1
解决办法
455
查看次数

使用 HTML::TreeBuilder as_HTML 后编码损坏

假设,我们有以下文件:

\n

测试.html

\n
<!DOCTYPE html>\n<html>\n  <head>\n    <title>\xd0\x95\xd0\xb2\xd0\xb3\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb9 \xd0\x9e\xd0\xbd\xd0\xb5\xd0\xb3\xd0\xb8\xd0\xbd</title>\n    <meta charset="utf-8">\n  </head>\n  <body>\n    <p><cite>\xd0\x95\xd0\xb2\xd0\xb3\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb9 \xd0\x9e\xd0\xbd\xd0\xb5\xd0\xb3\xd0\xb8\xd0\xbd</cite></p>\n    <pre>\n      \xd0\x9d\xd0\xb5 \xd0\xbc\xd1\x8b\xd1\x81\xd0\xbb\xd1\x8f \xd0\xb3\xd0\xbe\xd1\x80\xd0\xb4\xd1\x8b\xd0\xb9 \xd1\x81\xd0\xb2\xd0\xb5\xd1\x82 \xd0\xb7\xd0\xb0\xd0\xb1\xd0\xb0\xd0\xb2\xd0\xb8\xd1\x82\xd1\x8c,\n      \xd0\x92\xd0\xbd\xd0\xb8\xd0\xbc\xd0\xb0\xd0\xbd\xd1\x8c\xd0\xb5 \xd0\xb4\xd1\x80\xd1\x83\xd0\xb6\xd0\xb1\xd1\x8b \xd0\xb2\xd0\xbe\xd0\xb7\xd0\xbb\xd1\x8e\xd0\xb1\xd1\x8f,\n      \xd0\xa5\xd0\xbe\xd1\x82\xd0\xb5\xd0\xbb \xd0\xb1\xd1\x8b \xd1\x8f \xd1\x82\xd0\xb5\xd0\xb1\xd0\xb5 \xd0\xbf\xd1\x80\xd0\xb5\xd0\xb4\xd1\x81\xd1\x82\xd0\xb0\xd0\xb2\xd0\xb8\xd1\x82\xd1\x8c\n      \xd0\x97\xd0\xb0\xd0\xbb\xd0\xbe\xd0\xb3 \xd0\xb4\xd0\xbe\xd1\x81\xd1\x82\xd0\xbe\xd0\xb9\xd0\xbd\xd0\xb5\xd0\xb5 \xd1\x82\xd0\xb5\xd0\xb1\xd1\x8f,\n    </pre>\n</body>\n</html>\n
Run Code Online (Sandbox Code Playgroud)\n

我想使用解析器获取 HTML 格式的 body 标签的内容:

\n
<p><cite>\xd0\x95\xd0\xb2\xd0\xb3\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb9 \xd0\x9e\xd0\xbd\xd0\xb5\xd0\xb3\xd0\xb8\xd0\xbd</cite></p>\n<pre>\n  \xd0\x9d\xd0\xb5 \xd0\xbc\xd1\x8b\xd1\x81\xd0\xbb\xd1\x8f \xd0\xb3\xd0\xbe\xd1\x80\xd0\xb4\xd1\x8b\xd0\xb9 \xd1\x81\xd0\xb2\xd0\xb5\xd1\x82 \xd0\xb7\xd0\xb0\xd0\xb1\xd0\xb0\xd0\xb2\xd0\xb8\xd1\x82\xd1\x8c,\n  \xd0\x92\xd0\xbd\xd0\xb8\xd0\xbc\xd0\xb0\xd0\xbd\xd1\x8c\xd0\xb5 \xd0\xb4\xd1\x80\xd1\x83\xd0\xb6\xd0\xb1\xd1\x8b \xd0\xb2\xd0\xbe\xd0\xb7\xd0\xbb\xd1\x8e\xd0\xb1\xd1\x8f,\n  \xd0\xa5\xd0\xbe\xd1\x82\xd0\xb5\xd0\xbb \xd0\xb1\xd1\x8b \xd1\x8f \xd1\x82\xd0\xb5\xd0\xb1\xd0\xb5 \xd0\xbf\xd1\x80\xd0\xb5\xd0\xb4\xd1\x81\xd1\x82\xd0\xb0\xd0\xb2\xd0\xb8\xd1\x82\xd1\x8c\n  \xd0\x97\xd0\xb0\xd0\xbb\xd0\xbe\xd0\xb3 \xd0\xb4\xd0\xbe\xd1\x81\xd1\x82\xd0\xbe\xd0\xb9\xd0\xbd\xd0\xb5\xd0\xb5 \xd1\x82\xd0\xb5\xd0\xb1\xd1\x8f,\n</pre>\n
Run Code Online (Sandbox Code Playgroud)\n

解析器.pl

\n
#!/usr/bin/env perl\n\nuse strict;\nuse warnings;\nuse 5.010;\nuse utf8;\n\nuse HTML::TreeBuilder;\n\nmy $root = HTML::TreeBuilder->new;\n$root->parse_file('test.html');\n\nmy $body = $root->find('body');\nprint $body->as_HTML;\n
Run Code Online (Sandbox Code Playgroud)\n

当我将输出保存到 HTML 文件并在浏览器中以 Unicode …

perl encoding html-parsing

2
推荐指数
1
解决办法
741
查看次数

如何获取字符串的第一个元素,用空格分隔

我试图su在bash脚本中获取用户名。我使用以下代码:

user=`who am i`
#user <- "user4035     pts/0        2017-04-02 05:13 (my-hostname)"
userarray=($user)
#userarray <- ["user4035", "pts/0", "2017-04-02 05:13", "(my-hostname)"]
user=${userarray[0]}
#outputs "user4035"
echo $user
Run Code Online (Sandbox Code Playgroud)

它可以正常工作,但是用更少的命令就能达到相同的结果吗?

bash

2
推荐指数
3
解决办法
3163
查看次数