regex 匹配注解(//)中的方括号({})的正则表达式[已关闭]

7ivaypg9  于 2023-03-09  发布在  其他
关注(0)|答案(2)|浏览(90)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。

2天前关闭。
Improve this question
我想获取文件中所有带括号注解的行,例如

This is not valid {}
// This is valid {}
// This is also { valid
// Also valid }
This is // valid {

我试过这个正则表达式序列,它确实工作,但它选择了注解外的括号,这不是我想做的。

(//[\s\S\n]*\{)|(\{[\s\S\n]*//)
pw9qyyiw

pw9qyyiw1#

请考虑使用以下命令:([\w\s]*// [\w\s]*(\{|\})+[\w\s]*?)\n,似乎对我很有效,如果我们只保留第一个捕获组的话。

wfauudbj

wfauudbj2#

在每一行中使用此正则表达式:

/^.*?\/\/.*[\{\}]/

说明:

  • ^.*?-非贪婪扫描,直到:
  • \/\/-文字//
  • .*-贪婪扫描,直到:
  • [\{\}]-包含{}的字符类,例如char

请注意,存在不受支持的极端情况,例如,如果您在字符串中具有相同的模式,如:

let str = "foo // bar {c}"; // blah

为了支持这种情况,您可能需要一个语言解析器。
另外,多行/* comments */怎么样?

相关问题