问题:
使用正则表达式,是否可以匹配在不同位置包含相同字符的单词?
条件:
所有单词都有相同的长度,你知道重复字符的字符位置(例如第1,第2和第4),但你不知道它是什么.
示例:
使用小写的6char字我想匹配第3和第4个字符相同的字.
parrot <- match for double r
follia <- match for double l
carrot <- match for double r
mattia <- match for double t
rettoo <- match for double t
melone <- doesn't match
Run Code Online (Sandbox Code Playgroud)
我不能使用量词[\ d] {2}因为它匹配任何连续的两个字符,如果我说第2和第4个位置而不是第3个和第4个怎么办?
是否有可能用正则表达式做我想做的事情?如果是的话,我该怎么做?
编辑:
在评论中询问,我正在使用python
我正在开发一个使用Spring IoC和JDBC Template类的Java应用程序.我有一个DAO类有4种方法:m1()到m4().m1在表t1上执行多次插入和更新,在t2上执行m2,在t3上执行m3等.
DAO方法使用如下:
while(true)
{
//process & generate data
dao.m1(data1);
dao.m2(data2);
dao.m3(data3);
dao.m4(data4);
//sleep
}
Run Code Online (Sandbox Code Playgroud)
我希望4个连续方法调用下的db操作是原子的,要么所有4个表都成功更新,要么都没有.因此,如果在m3()中执行操作时出错,我想回滚在m2和m1中执行的所有更改(更新和插入).
那么春天让你以下面的方式做到这一点?
while (true)
{
//process & generate data
transaction = TransactionManager.createNewTransaction();
transaction.start()
try
{
dao.m1(data1);
dao.m2(data2);
dao.m3(data3);
dao.m4(data4);
}
catch(DbUpdateException e)
{
transaction.rollBack();
}
transaction.end();
// sleep
Run Code Online (Sandbox Code Playgroud)
}
或者有更好的方法吗?
从包含两个参数名义和货币的对象列表开始,我如何汇总每种货币的总名义?
鉴于:
case class Trade(name: String, amount: Int, currency: String)
val trades = List(
Trade("T150310", 10000000, "GBP"),
Trade("T150311", 10000000, "JPY"),
Trade("T150312", 10000000, "USD"),
Trade("T150313", 100, "JPY"),
Trade("T150314", 1000, "GBP"),
Trade("T150315", 10000, "USD")
)
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到:
Map(JPY -> 10000100, USD -> 10010000, GBP -> 10001000)
Run Code Online (Sandbox Code Playgroud) 由于我正在处理的项目中有一些apache重写规则,因此通常绝对可以使href和链接变得很方便,因为这样可以确保浏览器无论URL是什么,都会在该链接后面找到该文件.
例:
<img src="http://localhost/project/gfx/abc.jpg"></img>
Run Code Online (Sandbox Code Playgroud)
代替
<img src="gfx/abc.jpg"></img>
Run Code Online (Sandbox Code Playgroud)
前者会比后者慢,还是以任何方式都不好?
这并不像我认为这是优化; 我想我会使用绝对的(除非有一个非常好的理由不这样做),但我很想知道使用绝对URL是否正常.
请注意,这将适用于所有链接/路径(超链接,css和javascript包含,AJAX调用等)
我在3D空间中有一组数据点,显然都落在特定的平面上.我使用PCA来计算平面参数.PCA的第三个组成部分给出了平面的法向矢量(最弱的分量).
我接下来要做的是将所有点转换到所述平面上并在2D中查看它.
我的想法是做以下事情:
现在我坚持找到正确的旋转操作.我尝试使用acos或atan并设置两个旋转矩阵.似乎这两种方法(使用acos,使用atan)给我错误的结果.也许你可以帮帮我吧!
Matlab代码如下:
b = atan(n(1) / n(2));
rotb = [cos(b) -sin(b) 0; sin(b) cos(b) 0; 0 0 1];
n2 = n * rotb;
a = atan(n(1) / n(3));
rota = [cos(a) 0 sin(a); 0 1 0; -sin(a) 0 cos(a)];
n3 = n2 * rotaows:
Run Code Online (Sandbox Code Playgroud)
我希望n2
y分量为零.然而,对于向量(-0.6367,0.77697,0.0467)已经失败了.
我正在为我正在开发的Linux发行版编写一个系统关键程序.它需要在接收某些信号时重新启动,以尽量避免崩溃.问题是,重启后,我无法重新启用该信号.也就是说,信号不能被接收两次.在execv()之后,当新进程调用signal()来设置信号时,返回SIG_DFL.每次.即使我连续两次调用它 - 表明它从未设置在第一位.是否有一些奇怪的旗帜从原始过程中被遗留下来?
我正在我的应用程序中使用RelayCommand.将代码放在viewmodel中非常棒,但是如何将键击绑定到我的命令?
RoutedUICommand具有InputGestures属性,当我按下击键时会自动调用该命令.(作为一个额外的好处,它甚至可以在MenuItem中显示击键.)不幸的是,RoutedUICommand的额外属性没有可重复使用的界面,所以我无法使RelayUICommand获得同样的魔力.
我已经尝试过使用InputBindings:
<Window.InputBindings>
<KeyBinding Key="PageUp" Command="{Binding SelectPreviousLayerCommand}"/>
</Window.InputBindings>
Run Code Online (Sandbox Code Playgroud)
但这会让我产生运行时异常,因为KeyBinding.Command不是依赖属性.(实际上,它抱怨的是KeyBinding甚至不是DependencyObject.)由于我的RelayCommand是我的ViewModel上的属性(与RoutedUICommand设计的静态字段相反),数据绑定是我所知道的唯一方式从XAML引用它.
你们怎么解决这个问题?将击键绑定到RelayCommand的最佳方法是什么?
我已经在ActionScript中编程了大约6年,但在AS3问世之前从未听说过"垃圾收集"一词.为什么我们现在要担心它,而且从来没有这样做过?究竟是什么呢?从我读过/听过,它是与内存管理/泄漏等-甚至是我不明白许多,除了它是与性能.
我最近为我的一位艺术家朋友推出了一个网站,它是在AS3中完成的.我注意到它占用了大量资源.显然,这是我想要改进的.我猜它与没有垃圾收集的事实有关?!不幸的是,我对从哪开始就没有任何想法,因为我觉得我需要更好地了解它是什么以及如何在AS3中专门做到这一点.
对于好奇,这里是URL:http://www.jeffperrott.com
看来密码学中有一些有趣的事情发生了:最近出现了第一个同态加密方案(解释,HT).粗略地说,它是编码的方式x
进入f(x)
,这样你可以计算f(x+y)
很容易地知道f(x)
和f(y)
即使你不能轻松地恢复x
和y
(和相同的f(x*y)
).
这种方案的实际应用是什么(一旦建立安全性)?对我来说,似乎他们可以更容易地编写用于操纵私有数据的算法.
这是我的想法:
示例:我有银行A,B,C的帐户.实体X想要确认我总共超过1000美元; 它很乐意接受A,B,C或D银行的声明,但遗憾的是我在任何单一账户中都没有足够的资金.银行A使用我的公钥加密有关我500美元的信息; 同样,银行B和C分别加密我有200美元和300美元的信息.他们将这些数据发送给X,他们将这些数据添加到一些数字中,我证明实际上加密了1000美元(通过使用我的公钥加密1000美元并证明结果是相同的).我已经证明了一些事情,但没有透露X
每个帐户中我有多少钱.
另一个例子:好公民X_1,......,X_n正在合作选择两个候选人中的一个,其中一个是拿铁咖啡的自由人A l,而另一个是B bble的枪支爱好者(所有名字都是虚构的).他们认为他们希望投票是私密但快速的.他们以(1, vote_A, vote_B, vote_None)
加密的矢量格式将选票发送给选举委员会,选举委员会将其公开添加,并在表格中获得结果(count, count_A, count_B, count_None)
.经过检查后count = count_A + count_B + count_None
,官员宣布其中一名候选人的胜利,之后法官宣布选举因电子投票无关而在未来10年内在法庭上进行了争议,但是,嘿,这不是我的无论如何问题.
注意: - 我相信这些特定的例子甚至可以用于RSA,因为它只需要在一次操作中具有同态性.希望我们可以通过更多操作获得更有趣的东西 - 所以,举出示例!
我特别希望看到包含有可能在实践中使用的代码和/或开发框架的答案,原因是SO不是理论计算机科学讨论板.
同形算法,重复下面在评论中所说的内容,允许创建一个程序,在不知道它们的情况下管理数据.不幸的是,程序的类型有些限制:你不能if (x=0) ...
因为x
加密而且每一步都很慢(涉及一些格子).
我喜欢由ViewModel公开的RelayCommand的MVVM概念.这非常优雅,对于无需进一步用户输入即可完成的操作.简单.可测试.
但是,并非所有操作都是无UI的.有些需要确认("您确定要删除吗?").其他人需要更多信息.打开文件可能需要从"文件打开"对话框到完整的导入向导.
在MVVM应用程序中,编写需要用户输入的命令的最佳方法是什么?是否存在以某种方式通过依赖注入解决此问题的既定模式?我应该在代码隐藏中编写KeyDown处理程序,并让它显式执行事件吗?我应该回到RoutedUICommand,并将所有"显示下一个GUI"代码放在我的视图中吗?或者有什么明显的东西让我完全失踪?
mvvm ×2
wpf ×2
actionscript ×1
apache ×1
c ×1
cryptography ×1
encryption ×1
geometry ×1
html ×1
java ×1
jdbc ×1
key-bindings ×1
linux ×1
mod-rewrite ×1
privacy ×1
python ×1
regex ×1
rollback ×1
rotation ×1
scala ×1
security ×1
signals ×1
spring ×1
transactions ×1
trigonometry ×1
vector ×1
voting ×1