我需要一个正则表达式,它将匹配不包含两个连续破折号的字母串.
我接近这个使用环视的正则表达式(我看不到其他选择):
([-a-z](?<!--))+
Run Code Online (Sandbox Code Playgroud)
其中给出以下输入:
qsdsdqf - sqdfqsdfazer - azerzaer-azerzear
产生三场比赛:
qsdsdqf-
sqdfqsdfazer-
azerzaer,azerzear
但我想要的是:
qsdsdqf-
-sqdfqsdfazer-
-azerzaer-azerzear
所以我的正则表达式失去了我不想要的第一个破折号.
谁可以给我一个提示或正则表达式可以做到这一点?
如果您总是需要使用PHP验证表单,那么使用Javascript验证HTML表单有什么意义呢?我意识到你可以从中获得速度提升,对用户来说更方便,但除此之外,花在它上面的时间值得吗?如果有人有任何好的证据,我很乐意听到.
谢谢你的帮助!
都会
UPDATE
在收到大量答案后,我想稍微改变一下这个问题.我们都知道javascript对用户来说更方便,它提供了更快的反馈.我想知道的是:有没有人见过任何"证据",它值得吗?或者我们只是这样做,因为它使事情变得更好,每个人都说我们应该这样做?速度差异并不显着,随着互联网变得越来越快,我认为javascript验证将变得更加过时.
我开始怀疑使用javascript验证页面的时间是否可以更好地花费.
我正在尝试在clojure中使用JIT编译来动态生成mapper和reducer类.但是,JobClient无法识别这些类(这是通常的ClassNotFoundException.)
如果我AOT编译Mapper,Reducer和Tool,并使用RunJar运行作业,一切似乎都很好.在查看源代码之后,似乎它正在解压缩jar并创建一个自定义URLClassLoader,用于加载"main"实现.我没有看到jar是如何跨节点分布的,甚至是如何在单节点集群中使用它.
任何帮助将非常感激!
我正在尝试将SQL Server 2005链接到Oracle 10g数据库.我已经在SQL服务器上安装了Oracle客户端,并验证了我可以使用tnsping和sqlplus连接到Oracle数据库.当我尝试在SQL Server中运行查询时,我得到以下内容:
OLE DB provider "OraOLEDB.Oracle" for linked server "ORA_CSSA2APD" returned message "ORA-12154: TNS:could not resolve the connect identifier specified".
Msg 7303, Level 16, State 1, Line 1
Cannot initialize the data source object of OLE DB provider "OraOLEDB.Oracle" for linked server "ORA_CSSA2APD".
有任何想法吗?我已经尝试了以下两个查询而没有运气:
select * from openquery(ORA_CSSA2APD, 'select count(rowid) from eservice_op.agent')
select count(rowid) from ORA_CSSA2APD..eservice_op.agent
我有一个COM库,我必须在我的应用程序中引用,我试图模拟其接口.
我这样做时会遇到异常 MockRepository.GenerateMock<IAmAComInterface>();
当我这样做时,我没有例外:MockRepository.GenerateDynamicMockWithRemoting<IAmAComInterface>();但我的期望都没有验证.
难道我做错了什么?
现在,我的所有COM接口都有一堆包装器,我正在嘲笑它们,但我真的不想包装所有东西.
编辑:
GenerateMock的例外:
System.TypeLoadException
使用以下消息:
The type is marked as eligible for type equivalence, but either it has generic parameters, or it is not a structure, COM imported interface, enumeration, or delegate.
当使用GenerateDynamicMockWithRemoting测试失败时,总是说预期:1实际:0表示对COM接口的任何期望.
使用Rhino.Mocks 3.6.
以下工作正常从命令行
/usr/bin/mysqldump -uUser -pPass Db_name > /var/www/db_backup/db.`date +%Y%m%d%H%M`.sql
Run Code Online (Sandbox Code Playgroud)
但是当我尝试在cron中执行此操作时,我收到错误:
bad ` sign
errors in crontab file, can't install
Run Code Online (Sandbox Code Playgroud)
我看到网络上的其他人通过逃避百分号来解决同样的问题,但这没有帮助,我尝试了只在反引号内的日期,没有格式说明符,仍然有错误.
我也看到日期的参数用单引号或双引号括起来,但这也无济于事.
当然,我可以把它扔进一个脚本并执行我想的 - 但那有什么乐趣?
有任何想法吗?我正在使用RHEL 5.
在下面的代码中使用了include模块.如果删除了包含模块的方式,那么也会创建一个实例方法.那为什么用户包含模块?
http://github.com/rails/rails/blob/master/activerecord/lib/active_record/associations.rb#L1416
include Module.new {
class_eval <<-RUBY, __FILE__, __LINE__ + 1
def destroy # def destroy
super # super
#{reflection.name}.clear # posts.clear
end # end
RUBY
}
Run Code Online (Sandbox Code Playgroud) 我通常有一个项目的多个副本,例如:主干的副本和最后一个发布分支的副本.为了将项目文件与Eclipse完全分离,它们将从Eclipse工作区外部的目录中的Subversion中检出.
我想让项目可以轻松导入Eclipse并遵循多个 答案的说明.
问题是我的.launch文件的项目名称是硬编码的.导入新项目时,只要项目与导出的项目具有完全相同的名称,启动文件就会显示在"运行配置"菜单中.这禁止我有同一个项目的两个版本.
看起来这样做的唯一方法是从Ant任务生成.launch和.project文件,但我没有看到有人使用此解决方案.也许我应该有多个工作区,项目总是具有相同的名称.
最好的方法是什么?
编辑:我将VonC标记为答案,但不要错过评论.
运行脚本/控制台等脚本命令时,我收到错误消息:
no such file to load -- thinking-sphinx
Run Code Online (Sandbox Code Playgroud)
在我的evironment.rb文件中,我有:
config.gem 'thinking-sphinx', :version => '1.3.18', :require_as => 'thinking_sphinx'
Run Code Online (Sandbox Code Playgroud)
在我的rake文件中:
require 'thinking_sphinx/tasks'
Run Code Online (Sandbox Code Playgroud)
我有以下版本:
gem 1.3.7
ruby 1.8.7
Rails 2.3.8
Run Code Online (Sandbox Code Playgroud)
我的rake命令就像rake ts:rebuild工作正常!有没有办法摆脱恼人的错误信息?
TNX!
ps:我也使用RVM
我正在使用Microsoft Visual Studio 2008(VC9)来编译具有.dsw文件的项目.我已经拥有了2010并希望使用它,但似乎这款dsw是为2008年制造的.
我想编译并生成一个兼容Windows 7的二进制文件.我的问题:
有人可以澄清一下.
java ×2
.net ×1
c# ×1
clojure ×1
com ×1
cron ×1
eclipse ×1
hadoop ×1
javascript ×1
jit ×1
launch ×1
linux ×1
ora-12154 ×1
oracle ×1
php ×1
regex ×1
rhino-mocks ×1
ruby ×1
rubygems ×1
rvm ×1
shell ×1
sql-server ×1
validation ×1
visual-c++ ×1
windows ×1