我正在尝试匹配所有以 --
开头并以单个空格 结尾的字符串。
我正在处理的文件是 OpenVPN 手册,我希望提及所有选项(例如 --option
)。
我正在使用 Sublime Text,根据其备忘单,它们支持 \A
和 \Z
来表示字符串的开头和结尾。
因此,我认为 \A--.*\Z
应该匹配所有字符串,以 --
开头并以 结尾。
但是,这根本不匹配任何内容。
什么正则表达式可以匹配所有字符串,以双破折号开头并以空格字符结尾?任何出现的事件,无论其位置如何,都应该匹配。
最佳答案
我认为您的问题由于使用字符串而引起了一些困惑。您可能想查找计算机科学的用法(例如 here )。您要查找的是单词,以 --
开头并以空格结尾(或者可能是行尾)。
您可以使用(?:^|(?<=\s))--\S+
在这里。
-
(?:^|(?<=\s))
检查前面是否有空格或行开头(使用lookbehind) -
--\S+
匹配双-
以及一个或多个非空格字符- 请注意,这始终以空格或行尾结束
另一种可能性是(?:^|(?<=\s))--\w+(?=\s|$)
。在这里,它查找一系列单词字符(字母、数字、下划线),并通过前瞻确保它以空格或行尾结尾。
关于正则表达式匹配具有特定开始/结束的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43340718/