试图为罗马数字编写正则表达式匹配器.在sed中(我认为它被认为是正则表达式的"标准"),如果你有多个由交替运算符分隔的选项,它将匹配最长的.即,"I|II|III|IV"将"IV"与"IV"匹配,将"III"与"III"匹配
在Java中,相同的模式匹配"I"代表"IV"而"I"代表"III".从左到右,交替匹配之间的Java选择; 也就是说,因为"I"出现在正则表达式中的"III"之前,所以它匹配.如果我将正则表达式更改为"IV|III|II|I",则行为会得到纠正,但这显然不是一般的解决方案.
有没有办法让Java从一个交替组中选择最长的匹配,而不是选择"第一个"?
为清晰起见,代码示例:
public static void main(String[] args)
{
Pattern p = Pattern.compile("six|sixty");
Matcher m = p.matcher("The year was nineteen sixty five.");
if (m.find())
{
System.out.println(m.group());
}
else
{
System.out.println("wtf?");
}
}
Run Code Online (Sandbox Code Playgroud)
这输出 "six"
如何检索光标位于X11服务器顶部的顶部窗口?
窗口不必是"活动的"(选择,打开,无论如何),它只需要将光标悬浮在它上面.
提前致谢.
我有一个图表表示为一个numpy布尔数组(G.adj.dtype == bool).这是写我自己的图库的功课,所以我不能使用networkx.我想将它转储到一个文件,以便我可以摆弄它,但对于我的生活,我无法弄清楚如何使numpy以可恢复的方式转储它.
我已经尝试过G.adj.tofile,它正确地将图形(ish)写成一条长的True/False.但fromfilebarfs在读这个,给出一个1x1数组,并loadtxt提出了一个ValueError: invalid literal for int.np.savetxt可以工作,但将矩阵保存为0/1浮点列表,并且loadtxt(..., dtype=bool失败并且具有相同的ValueError.
最后,我试过networkx.from_numpy_matrix了networkx.write_dot,但这给[weight=True]了点源中的每一个边缘,它打破了networkx.read_dot.
我刚买了一台Macbook(是的,我在Mac上是一个完整的菜鸟,虽然我对Linux有一些相当丰富的经验)而且我正在尝试在它上面构建我的Qt应用程序.我已经安装了XCode和Qt SDK但是当我尝试在Qt Creator上构建我的项目时,我得到的是qmake期间的以下错误:
Running build steps for project TimeTracker...
Starting: "/usr/bin/qmake" /Users/raphaelcruzeiro/Documents/Projects/Timely/Widget/TimeTracker/TimeTracker.pro -r -spec macx-g++
Failure to open file: /Developer/Applications/Qt/Makefile
Unable to generate makefile for: /Users/raphaelcruzeiro/Documents/Projects/Timely/Widget/TimeTracker/TimeTracker.pro
The process "/usr/bin/qmake" exited with code %2.
Error while building project TimeTracker (target: Desktop)
When executing build step 'qmake'
Run Code Online (Sandbox Code Playgroud)
关于发生了什么的任何想法?/ Developer/Applications/Qt/Makefile确实不存在.
编辑:
好的,我知道发生了什么,但我不知道如何解决它.当我从终端运行qmake时,一切都很顺利.我相信Qt Creator正试图在Qt目录本身上构建我的应用程序并且它没有它的权限(它不应该反正).如何告诉Qt Creator在哪里构建我的应用程序?我没有在任何地方找到它,设置DESTDIR变量没有帮助.
解决方案:
删除.pro.user文件使Qt Creator将应用程序构建到DESTDIR中指定的目录
我创建了自己的自定义视图,扩展了UIControl.此自定义视图具有自己的触摸实现.我在其中实现了touchesBegan,Moved,Ended和Canceled方法.
在主视图控制器中,我创建了此视图的多个实例.所以在屏幕上,有许多自定义按钮.
我想在我的应用程序中禁用多点触控.如果我单击一个自定义按钮,则其他按钮不应响应.
实际上,很容易实现这一点.当我按住一些按钮时,我可以将其他按钮的userInteractionEnabled属性设置为NO,直到我结束触摸.
但问题是,当我同时点击这几个按钮时,两个或多个touchesBegan方法同时工作,并且消息传递被搞砸了.
我试图设置multiTouchEnabled = NO和exclusiveTouch = YES,但它仍然无效.
如何在我的应用程序中强制禁用多点触控?
谢谢.
我试图以所有有效"长度"和"百分比"单位取回一个样式属性,从该属性的原始值转换而来.
例如,如果我有一个div,style.width设置为20%,我想要一个具有该值的对象,以百分比(当然,20%),像素(无论实际像素宽度是多少),em,pt,前等
我意识到'百分比'不是'长度'值,并且并非所有接受长度值的属性都接受百分比,但也希望包括它.
当然,某些值将特定地依赖于元素,并且可能是它在DOM中的位置(例如,获取em值也将需要该元素的父计算字体大小).
我可以假设为该元素明确设置了样式 - 我知道如何检索元素的当前计算样式 - 我只是希望不重复其他人可能已经完成的工作.我也知道http://www.galasoft.ch/myjavascript/WebControls/css-length.html,但它依赖于style.pixelWidth或node.clientWidth,并在Chrome中失败(我认为它失败了Safari也是......以及其他人.)
我已经得到了颜色值(rgb,rgba,hex,name) - 这当然要简单得多.我正在使用数学上可变的值,因此实际上只需要'length'和'percent'值(如果在具有非长度,非百分比值的属性集上调用 - 如'font-size:larger' - 函数可能会失败,或抛出错误).
如果以程序方式编写,这样的事情将是理想的:
function getUnits(target, prop){
var value = // get target's computed style property value
// figure out what unit is being used natively, and it's values - for this e.g., 100px
var units = {};
units.pixel = 100;
units.percent = 50; // e.g., if the prop was height and the parent was 200px tall
units.inch = 1.39; // presumably units.pixel / 72 …Run Code Online (Sandbox Code Playgroud) 这是我的自定义适配器:
...
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
LayoutInflater inflater = LayoutInflater.from(context);
View v = inflater.inflate(android.R.layout.simple_list_item_checked, parent, false);
return v;
}
...
Run Code Online (Sandbox Code Playgroud)
现在这看起来正是我所需要的.问题是当我点击listview项目时,我无法切换检查状态.有解决方案吗
我只是想知道是否可以创建一个WPF应用程序,允许用户使用某个笔绘制方向来制作某个路径并能够显示路径数据.
这个想法几乎与这个想法相同:http://blogs.msdn.com/b/gavingear/archive/2007/02/15/intoducing-pathmaker-a-tool-for-creating-path-markup-for- WPF的e.aspx
我还找到了一个很好的示例,我可以在画布中绘制线条和内容:http://www.codeproject.com/KB/WPF/WPF_DrawTools.aspx
我只是想要一个良好的开端.有什么建议?
如果它们永不过期,会有任何重大问题吗?
有人忘了他的密码并要求重置他的密码,一封带有密码重置链接的电子邮件发送给他.
然后他突然想起了他的密码,所以他只是忽略了密码重置电子邮件.但过了几天,他又忘了.由于他的邮箱中已经有密码重置电子邮件,他只需点击该链接即可返回网站重置密码.
这似乎没问题,为什么我们应该让帐户激活/密码重置链接在一段时间后过期?