fed*_*usy 0 regex string scala
我有一个非常长的内存中的字符串存储在一个val response: String看起来像
HTTP/1.1 200 OK
服务器:Apache
其他:头文件
<response>
<xml>
---更多XML ---
</ xml>
</ response>
0
我想提取
<response>
...
</ response>
字符串的一部分.到目前为止,我有这个:
"<response>.*?</response>".r findFirstIn response
Run Code Online (Sandbox Code Playgroud)
...但由于某种原因,Scala返回None.我确实找到了使用索引和切片函数执行此操作的方法,但必须有一个使用正则表达式的简洁方法.谁知道怎么样?
首先,在处理XML响应时使用XML解析器可能是一个更好的主意.一开始看起来可能看起来有点过头了,但随着项目的发展,你很可能最终不得不解析更复杂的XML文档,而使用正则表达式比使用完整的XML解析器要困难得多.
无论如何,这个正则表达式工作:
"(?s)<response>.*?</response>".r findFirstIn response
Run Code Online (Sandbox Code Playgroud)
(?s)设置DOTALL标志.
| 归档时间: |
|
| 查看次数: |
180 次 |
| 最近记录: |