我在使用正则表达式时使用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)
有谁知道我做错了什么?
我正在尝试制作一个脚本,用于从一个目录中的文件夹中解压缩所有.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) 任何人都可以使用LAMBDA EXPRESSION(
例如使用Northwind表(Orders,CustomerID,EmployeeID)向我展示加入2和3表的两个简单示例吗?
ENV ::我在putty上运行tmux,在Windows 7笔记本电脑上运行.我在工作时使用ssh到linux系统.
在使用它满足我的所有需求之前,我必须用tmux解决两个故障.
我必须从vim或tmux终端将一些文本复制到windows notepad.我已经为vim和putty启用了鼠标支持.
我曾尝试"*y和"+y,但他们都不起作用.如果我使用putty的复制能力,那么它也会复制相邻网格的内容.
我必须将一个窗格中的某些内容从一个窗格中的vim文件复制到另一个窗格中打开的vim文件.这有什么vim技巧吗?我不想用<C-b>[这种方式.
问题1更多地困扰着我,因为问题2有aw/a.
给定这样的类结构:
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成为嵌套函数调用.
谢谢
假设我打开一个文件open().那我是fork()我的节目.
父和子现在会共享文件描述符的相同偏移量吗?
我的意思是如果我在父亲那里写作,那么儿童的偏移量也会改变吗?
或者补偿是否会在fork()?之后独立?
我想知道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) 我在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是如何工作的?
从这篇文章中说它也将被执行两次,所以我被困......
我想知道如何将给定的字符串转换为指定的数组:
串
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字符检测到.
您曾经能够用来nltk.misc.babelfish翻译东西,但雅虎Babelfish API却失败了.有没有一种简单的方法可以说,这样做?
>>> import translate
>>> translate('carpe diem', 'latin', 'english')
'seize the day'
Run Code Online (Sandbox Code Playgroud)