标签: capture

如何使用 str_match(..., regex) 匹配多个捕获组

我正在使用包str_match中的stringr内容来捕获括号之间的文本。

library(stringr)

strs = c("P5P (abcde) + P5P (fghij)", "Glcext (abcdef)")
str_match(strs, "\\(([a-z]+)\\)")
Run Code Online (Sandbox Code Playgroud)

只给我匹配"abcde""abcdef"。如何"fghij"在仍然对两个字符串使用相同的正则表达式的情况下捕获?

regex r capture string-matching stringr

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

将单元格的输出保存在 iPython 笔记本中?

我的单元格 in[16] 有一个 python 循环,它在每个循环中调用一个函数,并且该函数打印一堆字符串。由于迭代次数很大(笔记本文件达到 99+ MB),我需要将这些字符串输出到 txt 或 csv 文件而不是 jupyter 文件内。我已经读过这里提到的答案: how to save the output of a cell in iPython Notebook?

但是,如果我使用该代码,我会收到以下粉红色错误消息:

错误:根:%capture未找到行魔法功能(但细胞魔法%%capture存在,您是说这个吗?)。

最终,还有此错误消息:NameError:名称'cap'未定义

所以只是给你举个例子。假设我有:

def test(i):
    print(i)


for i in range(1,10):
    test(i)
Run Code Online (Sandbox Code Playgroud)

如何导出/打印 txt 文件而不是笔记本中从 1 到 10 的值?老实说,我不是 python 专家,所以非常感谢您的帮助。

save capture jupyter-notebook

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

如何在 lambda 中捕获函数结果?

我想知道是否可以捕获函数结果:

int main()
{
    struct A { int a; int func() { return a; } };

    A a;

    
    auto lambda = []() {};
    // I WANT THE LAMBDA TO HAVE A COPY OF a.func();
    // In other words I want capture the return value of a.func()


   
}
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?我知道在较新的 C++ 标准中,您可以在捕获列表中创建新变量,所以像这样吗?

auto lambda = [int copy = a.func()] () {   cout << copy; }
Run Code Online (Sandbox Code Playgroud)

c++ lambda capture

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

即使 Qt 应用程序最小化/在后台/失焦,如何捕获键盘和鼠标事件?

这里的要求只是检查是否按下了任何键或发生了任何鼠标单击或移动。不需要捕获其他具体细节。
我也可以每隔 1 秒进行一次轮询,看看是否发生了任何鼠标或按键事件。

会有QAbstractNativeEventFilter什么帮助吗?
任何其他独立于平台的 C++ 库也将很有用。


下面是仅当应用程序处于焦点时捕获鼠标和键盘事件的示例代码:

#include<QApplication>
#include<QDebug>
#include<QKeyEvent>
#include<QWidget>

struct Widget : public QWidget
{
  Widget ()
  {
    installEventFilter(this);
    grabKeyboard();
    grabMouse();
    setMouseTracking(true);
  }
  ~Widget () { qDebug() << "~Event()"; }

  bool eventFilter (QObject* const pObject,
                    QEvent* const pEvent) override
  {
    qDebug() << "Event: " << pEvent->type();
    if(pEvent->type() == QEvent::KeyPress)
    {
      QKeyEvent* const pKeyEvent = static_cast<QKeyEvent*>(pEvent);
      qDebug() << "Key event: " << pKeyEvent->key();
    }
    return false; //QObject::eventFilter(pObject, pEvent);
  }
};


int main (int argc, …
Run Code Online (Sandbox Code Playgroud)

c++ qt keypress capture mouseevent

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

为什么 lambda 捕获中的“this”与指向同一对象的指针的处理方式不同?

如果我在 lambda 中捕获“this”-ptr,我就可以毫无问题地调用成员函数。但是,当我明确捕获指针(不提及“this”)时,它会停止工作。难道我做错了什么?根据我的理解,指针应该是一样的,所以这真的让我很惊讶。是否有一些编译器魔法以特殊的方式处理“this”?

演示

#include <cstdio>
#include <string>

struct client
{

    auto foo(std::string&& other)
    {
        printf("%s!\n", other.data());
    }

    void local()
    {
        std::string str = "Hello World this is a sentence to long for sso!";
        auto lambda = [this, other = std::move(str)]() mutable {
            foo(std::move(other));
        }();
    }

    static auto external(void* ptr) {
        std::string str = "Hello World this is a sentence to long for sso!";

        client* conv_ptr = static_cast<client*>(ptr);
        auto lambda = [conv_ptr, other = std::move(str)]() mutable {
            foo(std::move(other));
        }();
    } …
Run Code Online (Sandbox Code Playgroud)

c++ lambda closures capture this-pointer

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

你如何使用PHP拍摄当前浏览器窗口的快照

我尝试过到处搜索,但除了让客户端使用文件(某种批处理/ exe)之外,似乎没有可用的实现.

php browser screen capture

0
推荐指数
1
解决办法
1232
查看次数

Google Chrome扩展程序(如Aviary)如何捕获屏幕(网页)?

我想知道chrome扩展(如Aviary)如何捕获屏幕(网页).是在服务器端完成的吗?

google-chrome screen capture

0
推荐指数
1
解决办法
1877
查看次数

如何在没有任何绑定端口的情况下编写用户模式NAT?

我想创建自己的用户模式NAT应用程序.

我有以下方案:

VM2 [192.168.8.2 ] ------ [192.168.8.1 ] Win2003 [192.168.9.1 ] ------ [192.168.9.2 ] VM1

VM3 [192.168.8.3 ] _ /

VM4 [192.168.8.4 ] _ /

  1. 我正在8.1和9.1接口上捕获RAW IP数据包.
  2. 来自8.1的一些数据包以这种方式转移到9.1接口:8.2-> 9.2由9.1-> 9.2替换
  3. 来自9.1的一些数据包以这种方式转移到8.1接口:9.2-> 9.1由9.2-> 8.2替换

我的应用程序根本不绑定任何端口 - 它只从接口捕获.

我看到了这种情况:

  1. 8.2-> 9.2翻译为9.1-> 9.2包含SYN标志
  2. 9.2-> 9.1转换为9.2-> 8.2包含SYN + ACK标志
  3. 第2步中包含9.1-> 9.2与RST标志...

Windows Server 2003重置我的NATed连接.我根本不想绑定任何端口.

我怎么处理这个?

更新:

user1202136,怎么可能:

使用Windows防火墙阻止来自用户空间NAT使用的端口的RST数据包.

没有编写自己的NDIS驱动程序?

sockets tcp nat capture tcp-ip

0
推荐指数
1
解决办法
681
查看次数

使用OpenCV和JavaCV间隔捕获帧

我已经开发了一个捕获帧的代码

    OpenCVFrameGrabber grabber = new OpenCVFrameGrabber("D:/2.avi");        
    grabber.start();
    IplImage frame = grabber.grab();
Run Code Online (Sandbox Code Playgroud)

想要以第一帧第5帧第10帧第15帧等间隔捕捉帧

我该怎么做?使用线程是好的吗?

java opencv capture intervals javacv

0
推荐指数
1
解决办法
5377
查看次数

如何捕获Firebird SQL查询?

有没有办法捕获由Delphi/C++ Builder + Firebird创建的旧应用程序传输的SQL查询?

我没有该客户端应用程序的源代码或访问(远程)数据库服务器.

sql firebird capture

0
推荐指数
1
解决办法
8072
查看次数