我想将单词存储在字符串中的第二个逗号之前.
所以如果字符串看起来像这样:你好,我的名字是David,bla bla.
我想设置变量$ test = David
我正在寻找一个简单的编译器来编译一个简单的语言,我需要它来写一篇关于它的论文并了解编译器是如何工作的,我不是在寻找一个复杂的东西只是一个简单的语言(简单来说,我的意思是一个小代码,因为例如gcc太大了).任何帮助表示赞赏.
compiler-construction parsing code-generation lexical-analysis
是否有可能做数分组(例如,将数字转换1000为字符串"1 000")使用一个通带仅正则表达式?(我知道正则表达式和语言设施之间的界限在某些系统中有点模糊 - 在回复之前倾听你的良心.)
我之所以问的原因:另一个开发人员最近问我如何在JavaScript中进行数字分组,并使用regexp向我展示了一个稍微不正确的JavaScript函数.我给了他一个更好的选择,但他的正则表达式唠叨我,因为这种重写肯定是常规语法应该能做的事情,但我真的无法弄清楚如何为它编写正则表达式.
这是我第一次天真的尝试,我知道这是不正确的:
function group(n) { return n.toString().replace(/(\d{3})/g, "$1 "); }
Run Code Online (Sandbox Code Playgroud)
这种方法有两个缺陷; group(1000)收益率"100 0"和group(100)收益率"100 "(尾随空间).你可以这样解决它:
String.prototype.reverse = function () {
var a = [];
for (var i = this.length; i >= 0; --i) a.push(this[i]);
return a.join("");
};
function group(n) {
return n.toString().reverse().replace(/(\d{3})/g, "$1 ").
trimRight().reverse();
}
Run Code Online (Sandbox Code Playgroud)
但这不是一个,不是两个,不是三个,而是四个通道(两个反转,一个替换,和trimRight)!然后我冒险进入后面的土地,并提出:
function group(n) { return n.toString().replace(/(\d{3}(?!\d))/g, " $1");
Run Code Online (Sandbox Code Playgroud)
...根本不起作用(编辑 - 可能是因为我混淆了后视和负面前瞻...... …
您对在应用程序中使用CheckedExceptions和RuntimeExceptions有何看法?我被建议使用两者的组合,据我所知,你可以将一连串的CheckedException调用与RuntimeException一起传播.
是否有内置的MATLAB函数来确定矩阵是否包含某个值?(ala PHP的in_array())
恕我直言,MSDN没有提供Control.PointToScreen(链接)和Control.PointToClient(链接)方法之间的明显区别.
是否有人可以用一些简单的词语解释这些方法之间的区别.特别是我不清楚"客户"的概念.
我理解PointToScreen给定点的实际屏幕坐标(屏幕左上角的[0,0]).
例如,调试我的一些代码
?click.Location
{X = 3 Y = 9}
?shapeSender.PointToClient(click.Location)
{X = -470 Y = -565}
?shapeSender.PointToScreen(click.Location)
{X = 476 Y = 583}
Run Code Online (Sandbox Code Playgroud)
谢谢.
我在MS SQL服务器中有两个具有相同结构的数据库.
我想复制所有视图另一个数据库.
我尝试使用DTS的导出数据功能(适用于表对象).
但是,它执行SQL并创建表对象.
我不想执行那只想复制视图,以便我可以在设计视图中打开它们.
我尝试在目标数据库中使用create new view并复制源数据库视图的SQL查询并保存视图.这项工作与我想要的完全相同,但我有很多观点和副本数量!
有没有办法为整个解决方案"运行自定义工具"?
为什么?自定义工具正在开发中,当进行更改时,我需要刷新使用它的所有项目以确保没有任何中断.
您认为在asp.net-mvc中创建多个页面向导的最佳方法是什么?我在想:
由于我在GitHub上的空间用完我的免费帐户(是的,我正在考虑升级),我正在Gitorious上设置新的git存储库(另见GitHub vs Gitorious).GitHub的一个很棒的功能是提交后挂钩,它允许我通知(也很棒的)CIA网络 ......
但是,我一直无法找到Gitorious是否支持这样的钩子......所以,我想问一下获取提交消息的最佳实践是否出现在CIA网络上,用于Gitorious托管的git存储库.
更新:使用辅助机制来触发CIA提交消息的解决方案不是我想要的.