gpt4 book ai didi

javascript - 将 javascript 正则表达式转换为 posix 正则表达式

转载 作者:行者123 更新时间:2023-12-04 15:00:11 24 4
gpt4 key购买 nike

javascript 正则表达式:

reg = /\/\*[\s\S]*?\*\//

我用它来删除像“/* xxxx */”这样的代码注释,效果很好。

现在我想使用c语言转换成posix扩展正则表达式,

// use regex.h
// regcomp
const char *patten = "TODO"; // need convert from javascript regex
regcomp(&re, patten,REG_EXTENDED);

我尝试如下:

const char *patten = "\\/\\*[[:space:]^[:space:]]*?\\*\\/";
/*
* javascript regex white space \s convert to posix [:space:]
*/

但它不起作用。哪里错了?

最佳答案

你可以这样写

const char *patten = "/\\*[^*]*\\*+([^/*][^*]*\\*+)*/";

详细信息:

  • /\* - 开始 /* 字符序列
  • [^*]* - *
  • 以外的零个或多个字符
  • \*+ - 一个或多个文字 *
  • ([^/*][^*]*\*+)* - 零个或多个序列:
    • [^/*] - /*
    • 以外的字符
    • [^*]* - 星号以外的零个或多个字符
    • \*+ - 一个或多个星号
  • / - 结束符 /

参见 regex demo .

关于javascript - 将 javascript 正则表达式转换为 posix 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67095357/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com