regex - CMake正则表达式匹配转义字符抛出错误
问题描述
我有一个定义一些变量的配置文件:
foo.cfg:
NAME = foo
VERSION = 0.1.0
和一个 cmake 文件,它定义了一个解析所述配置文件并将值存储在变量中的函数
解析.cmake:
function(parse_config file)
file(READ ${file} _file_content)
set(_property "NAME")
set(_regex "${_property}\s*=\s\K\S+")
string(REGEX MATCH ${_regex} _name ${_file_content})
set(_NAME "${_name}")
endfunction()
但是当我包含脚本并尝试调用该函数时,出现以下错误:
Syntax error in cmake code at
[... path to "parse.cmake" ...]
when parsing string
${_property}\s*=\s\K\S+
Invalid character escape '\s'.
当我使用\\
转义字符时,正则表达式找不到任何匹配项。
解决方案
推荐阅读
- javascript - 在 HTML 页面中使用 javascript 函数
- ios - 使用 swift 4 在 VIPER 中进行 dataTaskWithURL 崩溃单元测试
- zipkin - Spring cloud sleuth 如何仅允许某些 URL 模式将跟踪导出到 zipkin
- r - ggplot 中不同几何图形的 scale_color_manual()
- ffmpeg - 什么 ffmpeg 命令会产生类似于 Instagram 压缩的视频压缩?
- c# - C#:根据条件从集合中返回元素的通用函数
- docusignapi - 如何将 DocuSign CreateEnvelopeFromTemplates 转换为 CreateEnvelopeFromTemplatesAndForms?
- xero-api - Xero API - response when request has valid and invalid elements
- sql-server - 在 SQL Server CASE 函数中将字符串转换为 dateTime
- sql-server - SQL Server 2017 Developer:缺少数据库图文件夹