2
下面是代碼:正則表達式匹配在scala.js中不起作用?
val s =
"""
|\begin{bmatrix}
|\cos \theta & -\sin \theta \\
|\sin \theta & \cos \alpha
|\end{bmatrix}
""".stripMargin
val lastWordPattern = """(?s)(.*)\s+(.*)""".r
def wordToPos(string: String, position: Int): String = {
val subString = string.substring(0, position)
println("sub: ", subString)
subString match {
case lastWordPattern([email protected]_*) => {
println(0, x(0))
println(1, x(1))
x(0)
}
case _ => ""
}
}
wordToPos(s, 20)
結果從sbt console
:
scala> wordToPos(s, 20)
(sub: ,
\begin{bmatrix}
\co)
(0,
\begin{bmatrix})
(1,\co)
從鉻結果:
(sub: ,
\begin{bmatrix}
\co)
Chrome的代碼打印字符串,但不能匹配正則表達式。 我做錯了什麼?
我認爲這是因爲JS不支持'(?s)'修飾符。嘗試用'[\ s \ S]'替換所有'.'並重試。 –
的確,解決了這個問題。 – qed