我确实有以下字符串:
\"lengthSeconds\":\"2664\"
Run Code Online (Sandbox Code Playgroud)
我想与这个正则表达式匹配:
Regex::new("lengthSeconds\\\":\\\"(\\d+)\\\"")
Run Code Online (Sandbox Code Playgroud)
我什至试过这个:
Regex::new(r#"lengthSeconds\":\"(\d+)\""#)
Run Code Online (Sandbox Code Playgroud)
但我得到了这个:
regex parse error:
lengthSeconds\":\"(\d+)\"
^^
error: unrecognized escape sequence
Run Code Online (Sandbox Code Playgroud)
正则表达式模式有什么问题?
通过使用 r#..#,您将字符串视为原始字符串,因此不处理任何转义。但是,由于反斜杠在 Regex 中是特殊字符,因此 Regex 表达式本身仍然需要您转义反斜杠。所以这
Regex::new(r#"\\"lengthSeconds\\":\\"(\d+)\\""#)
是你想要的。
或者,你可以写
Regex::new("\\\\\"lengthSeconds\\\\\":\\\\\"(\\d+)\\\\\"").unwrap();
产生相同的结果。
| 归档时间: |
|
| 查看次数: |
2313 次 |
| 最近记录: |