【问题标题】:Extracting code using regex in Autohotkey在 Autohotkey 中使用正则表达式提取代码
【发布时间】:2020-10-30 17:12:01
【问题描述】:

我正在尝试使用 Autohotkey 从 cmets 中提取 R 代码(即“变量

# this is comment 1
# this is comment 2
# this is comment n
variable <- 123

我尝试了以下正则表达式,但没有按预期工作。任何建议将不胜感激。谢谢!

^(?<!#)(.*?)$

The results in AHK Regex tester

【问题讨论】:

  • R代码是什么意思?你只是匹配没有 cmets 的行?
  • 是的,我正在尝试提取不带“#”开头的行。
  • 不使用正则表达式可能是值得的。我真的没有看到任何理由在这里使用正则表达式。可以轻松解析每一行,如果该行以# 开头,则丢弃它。我认为这也比正则表达式更有效。不过不要引用我的话。
  • @0x464e 你说得对,简单地删除以哈希开头的行更有效。我在下面提供的模式假定每个 OP 示例的哈希之前没有空格或填充。

标签: regex autohotkey


【解决方案1】:

解决方案

^[^#\n]+$

说明

  • ^ 匹配新行或字符串的开头
  • [^#\n] 匹配不是散列或换行的字符
    • + 匹配上述一个或多个令牌
  • $ 匹配行尾或字符串

【讨论】:

  • 谢谢。它适用于 Javascript/Python 正则表达式:regex101.com/r/5EdSZJ/1,但是,它不适用于 Autohotkey 正则表达式,知道吗?
  • 确保您启用了多行标志,并查看我编辑的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-11-11
  • 1970-01-01
  • 2023-03-18
  • 1970-01-01
  • 2014-03-22
  • 2018-03-17
  • 1970-01-01
相关资源
最近更新 更多