小编Del*_*try的帖子

用于匹配Java中的URL的正则表达式

我在使用正则表达式时使用RegexBuddy.我从它的库中复制了正则表达式以匹配URL.我在RegexBuddy中成功测试过.但是,当我将其复制为Java String风格并将其粘贴到Java代码中时,它不起作用.以下类打印false:

public class RegexFoo {

    public static void main(String[] args) {
        String regex = "\\b(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|]";
        String text = "http://google.com";
        System.out.println(IsMatch(text,regex));
}

    private static boolean IsMatch(String s, String pattern) {
        try {
            Pattern patt = Pattern.compile(pattern);
            Matcher matcher = patt.matcher(s);
            return matcher.matches();
        } catch (RuntimeException e) {
        return false;
    }       
}   
}
Run Code Online (Sandbox Code Playgroud)

有谁知道我做错了什么?

java regex regexbuddy

73
推荐指数
4
解决办法
17万
查看次数

我想通过(Python)创建一个解压缩(.tar.gz)文件的脚本

我正在尝试制作一个脚本,用于从一个目录中的文件夹中解压缩所有.tar.gz文件.例如,我将调用一个文件(testing.tar.gz).然后如果我手动操作,我可以按"提取",然后.tar.gz文件将创建一个新文件,并调用testing.tar.最后,如果我重复按"提取此处"的过程,.tar文件会将所有.pdf文件生成.

我想知道我怎么能这样做,而且我的代码在这里,似乎并不是现实的工作.

import os
import tarfile
import zipfile

def extract_file(path, to_directory='.'):
    if path.endswith('.zip'):
        opener, mode = zipfile.ZipFile, 'r'
    elif path.endswith('.tar.gz') or path.endswith('.tgz'):
        opener, mode = tarfile.open, 'r:gz'
    elif path.endswith('.tar.bz2') or path.endswith('.tbz'):
        opener, mode = tarfile.open, 'r:bz2'
    else: 
        raise ValueError, "Could not extract `%s` as no appropriate extractor is found" % path

    cwd = os.getcwd()
    os.chdir(to_directory)

    try:
        file = opener(path, mode)
        try: file.extractall()
        finally: file.close()
    finally:
        os.chdir(cwd)
Run Code Online (Sandbox Code Playgroud)

python gzip unzip tar

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

使用lambda表达式连接2和3表的简单示例

任何人都可以使用LAMBDA EXPRESSION(
例如使用Northwind表(Orders,CustomerID,EmployeeID)向我展示加入2和3表的两个简单示例吗?

linq lambda linq-to-sql c#-3.0 c#-4.0

31
推荐指数
2
解决办法
8万
查看次数

如何从在putty中运行的tmux复制到windows clipbard

ENV ::我在putty上运行tmux,在Windows 7笔记本电脑上运行.我在工作时使用ssh到linux系统.

在使用它满足我的所有需求之前,我必须用tmux解决两个故障.

  1. 我必须从vim或tmux终端将一些文本复制到windows notepad.我已经为vim和putty启用了鼠标支持.

    我曾尝试"*y"+y,但他们都不起作用.如果我使用putty的复制能力,那么它也会复制相邻网格的内容.

  2. 我必须将一个窗格中的某些内容从一个窗格中的vim文件复制到另一个窗格中打开的vim文件.这有什么vim技巧吗?我不想用<C-b>[这种方式.

问题1更多地困扰着我,因为问题2有aw/a.

vim tmux

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

在c#中组合两个lambda表达式

给定这样的类结构:

public class GrandParent
{
    public Parent Parent { get; set;}
}
public class Parent
{
    public Child Child { get; set;}
}

public class Child
{
    public string Name { get; set;}
}
Run Code Online (Sandbox Code Playgroud)

和以下方法签名:

Expression<Func<TOuter, TInner>> Combine (Expression<Func<TOuter, TMiddle>>> first, Expression<Func<TMiddle, TInner>> second);
Run Code Online (Sandbox Code Playgroud)

我如何实现所述方法,以便我可以像这样调用它:

Expression<Func<GrandParent, Parent>>> myFirst = gp => gp.Parent;
Expression<Func<Parent, string>> mySecond = p => p.Child.Name;

Expression<Func<GrandParent, string>> output = Combine(myFirst, mySecond);
Run Code Online (Sandbox Code Playgroud)

这样输出结果如下:

gp => gp.Parent.Child.Name
Run Code Online (Sandbox Code Playgroud)

这可能吗?

每个Func的内容只会是一个MemberAccess.我宁愿不最终output成为嵌套函数调用.

谢谢

c# lambda

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

fork()时是否共享文件描述符?

假设我打开一个文件open().那我是fork()我的节目.

父和子现在会共享文件描述符的相同偏移量吗?

我的意思是如果我在父亲那里写作,那么儿童的偏移量也会改变吗?

或者补偿是否会在fork()?之后独立?

c unix linux fork

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

/ proc中可能的内部套接字状态列表

我想知道st列的可能值/proc/net/tcp.我认为该st列等于netstat(8)或来自的STATE列ss(8).

我设法确定了三个代码:

sl  local_address rem_address   st tx_queue rx_queue tr tm->when retrnsmt   uid  timeout inode
0: 0100007F:08A0 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 7321 1 ffff81002f449980 3000 0 0 2 -1                     
1: 00000000:006F 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 6656 1 ffff81003a30c080 3000 0 0 2 -1                     
2: 00000000:0272 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 6733 1 ffff81003a30c6c0 3000 0 0 2 -1                     
3: 0100007F:0277 00000000:0000 0A 00000000:00000000 …
Run Code Online (Sandbox Code Playgroud)

sockets linux ipv4 ipv6 procfs

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

Python:os.fork()如何工作?

我在python中学习多处理.我尝试了多处理,在读完多处理模块的源代码之后,我发现它使用了os.fork(),所以我写了一些代码来测试os.fok(),但是我被困了.我的代码如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import time

for i in range(2):
    print '**********%d***********' % i
    pid = os.fork()
    print "Pid %d" % pid
Run Code Online (Sandbox Code Playgroud)

我认为每次打印都会执行两次,但执行三次.我无法理解这是如何工作的?我读过这个需要知道fork是如何工作的?
从这篇文章中说它也将被执行两次,所以我被困......

python fork

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

PHP字符串控制台参数到数组

我想知道如何将给定的字符串转换为指定的数组:

all ("hi there \(option\)", (this, that), other) another
Run Code Online (Sandbox Code Playgroud)

想要的结果(数组)

[0] => all,
[1] => Array(
    [0] => "hi there \(option\)",
    [1] => Array(
        [0] => this,
        [1] => that
    ),
    [2] => other
),
[2] => another
Run Code Online (Sandbox Code Playgroud)

这用于我在PHP上制作的一种控制台.我尝试使用preg_match_all但是,我不知道如何在括号内找到括号以"在数组中创建数组".

编辑

应将示例中未指定的所有其他字符视为String.

编辑2

我忘了提到括号外的所有参数都应该被space字符检测到.

php regex arrays explode preg-match

17
推荐指数
2
解决办法
478
查看次数

如何轻松地用python机器翻译?

您曾经能够用来nltk.misc.babelfish翻译东西,但雅虎Babelfish API却失败了.有没有一种简单的方法可以说,这样做?

>>> import translate
>>> translate('carpe diem', 'latin', 'english')

'seize the day' 
Run Code Online (Sandbox Code Playgroud)

python nltk

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

标签 统计

python ×3

fork ×2

lambda ×2

linux ×2

regex ×2

arrays ×1

c ×1

c# ×1

c#-3.0 ×1

c#-4.0 ×1

explode ×1

gzip ×1

ipv4 ×1

ipv6 ×1

java ×1

linq ×1

linq-to-sql ×1

nltk ×1

php ×1

preg-match ×1

procfs ×1

regexbuddy ×1

sockets ×1

tar ×1

tmux ×1

unix ×1

unzip ×1

vim ×1