正则表达式匹配具有特定开始/结束的字符串

标签 regex string sublimetext3 sublimetext

我正在尝试匹配所有以 -- 开头并以单个空格 结尾的字符串。

我正在处理的文件是 OpenVPN 手册,我希望提及所有选项(例如 --option)。

我正在使用 Sublime Text,根据其备忘单,它们支持 \A\Z 来表示字符串的开头和结尾。

因此,我认为 \A--.*\Z 应该匹配所有字符串,以 -- 开头并以 结尾。

但是,这根本不匹配任何内容。

什么正则表达式可以匹配所有字符串,以双破折号开头并以空格字符结尾?任何出现的事件,无论其位置如何,都应该匹配。

最佳答案

我认为您的问题由于使用字符串而引起了一些困惑。您可能想查找计算机科学的用法(例如 here )。您要查找的是单词,以 -- 开头并以空格结尾(或者可能是行尾)。

您可以使用(?:^|(?<=\s))--\S+在这里。

  • (?:^|(?<=\s))检查前面是否有空格或行开头(使用lookbehind)
  • --\S+匹配双 -以及一个或多个非空格字符
    • 请注意,这始终以空格或行尾结束

另一种可能性是(?:^|(?<=\s))--\w+(?=\s|$) 。在这里,它查找一系列单词字符(字母、数字、下划线),并通过前瞻确保它以空格或行尾结尾。

关于正则表达式匹配具有特定开始/结束的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43340718/

相关文章:

php - 如果我更改文件的位置并且命名空间会自动更改,是否有可能?

java - 为什么使用 split (".") 返回一个空数组?

javascript - 带有特殊字符 (.) 的正则表达式字边界 javascript

ruby - 简单密码 - 来自 Exercism 的 Ruby

javascript - 用javascript替换字符串中的多次出现

build-automation - 使用 Sublime Text 3 构建 Pascal

regex - 尝试构建一个正则表达式来检查模式

java - 除特定情况外如何匹配单个字符

ios - replacingOccurrences 错误

sublimetext2 - 如何在 Sublime Text 中保留语法高亮设置?