var ss= "<pre>aaaa\nbbb\nccc</pre>ddd";
var arr= ss.match( /<pre.*?<\/pre>/gm );
alert(arr); // null
Run Code Online (Sandbox Code Playgroud)
我想要接收PRE块,即使它跨越换行符.我以为'米'旗就是这么做的.才不是.
找到答案在这里发布之前.我以为我认识JavaScript(读了三本书,工作了几个小时),而且现在没有现成的解决方案,我敢于发帖.在这里扔石头
所以解决方案是:
var ss= "<pre>aaaa\nbbb\nccc</pre>ddd";
var arr= ss.match( /<pre[\s\S]*?<\/pre>/gm );
alert(arr); // <pre>...</pre> :)
Run Code Online (Sandbox Code Playgroud)
有人有一个不那么神秘的方式吗?
编辑:这是一个副本,但因为它比我的更难找到,我不删除.
它建议[^]作为"多线点".我仍然不明白为什么[.\n]不起作用.猜猜这是JavaScript的悲伤部分之一..
在哪里是为maven项目指定所需存储库的最佳位置,pom.xml或者settings.xml?每个地点的利弊是什么?什么是最佳做法?
在我看来,由于以下几个原因,在POM中定义存储库更好:
也许一个问题是,如果存储库的位置将来发生变化,则需要安装代理或者需要释放旧软件的补丁版本,指定新的存储库位置(或者.m2/settings.xml总是可以提供额外的存储库作为最后的手段).然而,这似乎是在发布管理中的良好再现性和可移植性的必要结果,而不是con.
还有其他想法吗?
我已经完成以下步骤来尝试为我的akka应用程序配置日志记录:
创建了一个application.conf文件并将其放在src/main/resources中.看起来像:
akka {
event-handlers = ["akka.event.slf4j.Slf4jEventHandler"]
loglevel = "INFO"
}
创建了一个logback.xml文件并将其放在src/main/resources中.看起来像:
<configuration>
<appender name="FILE" class="ch.qos.logback.core.fileappender">
<File>./logs/akka.log</File>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%-5level] %msg%n</pattern>
</encoder>
</appender>
<root level="info">
<appender-ref ref="FILE" />
</root>
</configuration>
Run Code Online (Sandbox Code Playgroud)将以下内容添加到我的.scala sbt构建文件中:
libraryDependencies += "com.typesafe.akka" % "akka-slf4j" % "2.0.3",
libraryDependencies += "ch.qos.logback" % "logback-classic" % "1.0.9"
lazy val logback = "ch.qos.logback" % "logback-classic" % "1.0.9"
尝试此代码记录:
import akka.event.Logging
val log = Logging(context.system, this)
log.info("...")
我得到的只是标准输出日志记录,没有日志创建日志文件.
我错过了一步吗?或者配置错误?
我在.svg文件中有相当大的脚本,我想把它从CDATA部分转移到外部文件中.怎么做到这一点?
HTML常规不起作用:
<script type="text/javascript" src="Track_animation.js" />
Run Code Online (Sandbox Code Playgroud)
我能够找到的文档只关注嵌入SVG本身的JS.是否可以使用外部脚本?
使用OS X和Safari 4.0.4进行渲染.
根据这些示例,我试图让一个非常简单的循环函数循环运行:
http://doc.akka.io/docs/akka/2.1.2/scala/scheduler.html
代码:
import akka.actor.Actor
import akka.actor.Props
import scala.concurrent.duration._
object Main extends Application {
val system = akka.actor.ActorSystem("system") // this was missing!
import system.dispatcher
system.scheduler.schedule( 0 milliseconds, (10*1000) milliseconds, {
println( "click!" )
})
}
Run Code Online (Sandbox Code Playgroud)
我得到(sbt):
> .../src/Main.scala:34: not found: value system [error] import
> system.dispatcher [error] ^ [error]
> .../src/Main.scala:36: not found: value system [error]
> system.scheduler.schedule( 0 milliseconds /*initial delay*/,
> (entry.secs*1000) milliseconds /*delay between*/, { [error] ^
Run Code Online (Sandbox Code Playgroud)
哪里system应该是哪里来的?
附录:
我在'main()'函数中有代码,而且我没有从Actor或继承任何东西ActorSystem.关键是我想安排功能,但没有进入演员.框架是否必须从某种东西中衍生出来(如果是这样,那应该说出来了吗?).
我需要在应用程序中使用一些基本的矢量数学结构.点产品,交叉产品.寻找线的交叉点,那种东西.
我可以自己做(事实上,已经有),但是没有"标准"使用这样的错误和可能的优化不会在我身上?
Boost没有它.就我所见,他们的数学部分是关于统计函数的.
附录:
提升1.37确实似乎有这个.他们还优雅地在现场引入了许多其他解决方案,以及为什么他们仍然去做自己的.我喜欢.
我已经开始以统一的方式使用C++异常,现在我希望编译器(g ++)检查没有"异常泄漏".该throw装修应该这样做,好像const确实为类方法常量性.
嗯,事实并非如此.
使用throw仍然是纪录片,但如果其他人认为函数不能抛出其文档中列出的其他异常,则甚至可能会产生危险的误导.
可以说g ++以某种方式被说服对其抛出检查更加严格,即真正确保一个函数被装饰为throw()永远不会抛出任何东西.
编辑:发现此问题广泛处理该主题.
Scala Double.isNaN用于检测非数字但不Double.isInf检测(正或负)无穷大.
为什么?我想检查参数是否是"真实"数字(即具有数值).将它转换为字符串并检查"inf"或其他东西会做到这一点,但必须有更好的方法吗?
就像在C++中一样: http //en.cppreference.com/w/cpp/numeric/math/isinf
使用Scala 2.10
大多数预编译的Windows二进制文件都是使用MSYS + gcc工具链制作的.它使用MSVCRT运行时,它与Visual C++ 2005/2008不兼容.
那么,如何只为Visual C++编写Cairo 1.6.4(或更高版本).包括依赖项(png,zlib,pixman).
出于某种原因(逃脱了我),Scala math库没有pow整数函数,只能用于Doubles.
我需要一个整数的平方函数,并且正在计算在Scala中执行此操作的常用方法.
object TestX extends App {
def pow2(v: Int)= v*v
//class MyRichInt( val v: Int ) {
// def ² : Int = v*v // says: "illegal character" for UTF-8 power-of-two
//}
println( pow2(42) )
//println( 42² )
println( math.pow(42,2).toInt )
}
Run Code Online (Sandbox Code Playgroud)
我惊讶地发现Scala不喜欢"²"字符.也许它被认为是一个数字?通常,所有类型的奇怪Unicode值都是有效的,并且在代码中使用42²确实很奇特.
没关系.我应该闭嘴并开始使用我自己的pow2功能吗?
scala ×4
akka ×2
c++ ×2
javascript ×2
exception ×1
graphics ×1
logback ×1
math ×1
maven-2 ×1
open-source ×1
regex ×1
scala-2.10 ×1
slf4j ×1
svg ×1
visual-c++ ×1