使用正则表达式无法将字符串与可选空格匹配

时间:2013-08-08 14:59:51

标签: regex emacs

我正在尝试匹配以下字符串:
/*virtual*//* virtual*//*virtual *//* virtual */

正则表达式/\*\svirtual\s\*/正确匹配具有两个空格的版本,但\s替换[\s]*与这些字符串中的任何一个都不匹配...阅读emacs RegularExpression维基上的参考文档我假设这应该创建一个匹配我的规范的正则表达式。我对正则表达式仍然有点新,任何帮助(并解释为什么上面的错误)都是受欢迎的!

2 个答案:

答案 0 :(得分:1)

试试re-builder。它非常有用。 表达式是

"/\\* ?virtual ?\\*/"

或者,如果您想使用s-

"/\\*\\s-?virtual\\s-?\\*/"

但请注意,它不是一个空格,而是语法 定义为空格。所以我可以编写一个指定的模式 所有单词like都是空格,你的正则表达式会匹配它们。

答案 1 :(得分:0)

可能是emacs错误吗?

\*[\s]*virtual[\s]*\*

在JS中工作,请参阅http://gskinner.com/RegExr/(检查'global')