12

複数行の正規表現からコンテンツを取得しようとしています。一致しません。

val text = """<p>line1 
    line2</p>"""

val regex = """(?m)<p>(.*?)</p>""".r

var result = regex.findFirstIn(text).getOrElse("")

空を返します。

複数行に m - フラグを付けましたが、この場合は役に立たないようです。

改行を削除すると、正規表現が機能します。

これも見つけましが、動作させることができませんでした。

<p>要素間のコンテンツを一致させるにはどうすればよいですか? 間にあるすべてのものと改行が必要です。

前もって感謝します!

4

2 に答える 2

25

scala で dotall モードを有効にする場合は、(?s)代わりに使用する必要があります。(?m)

(?s)ドットが改行に一致できることを意味します

(?m)行頭と行末の意味^と略$

于 2013-06-15T21:45:48.237 に答える