2

次の文字列を照合しようとしています:
/*virtual*//* virtual*//*virtual */および/* virtual */

正規表現/\*\svirtual\s\*/は 2 つのスペースを含むバージョンに正しく一致しますが、これらの文字列のいずれにも一致\s[\s]*ません... wiki で emacs RegularExpressionリファレンス ドキュメントを読んで、これにより私の仕様に一致する正規表現が作成されるはずだと思いました。私はまだ正規表現に少し慣れていません。どんな助けでも(そして上記が間違っている理由の説明)大歓迎です!

4

2 に答える 2

1

試してみてくださいre-builder。とても便利です。そしてその表現は

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

または、一緒に行きたい場合はs-

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

ただし、正確にはスペースではなく、構文で定義されているものは何でも空白であることに注意してください。likeしたがって、すべての単語を空白として指定するモードを書くことができ、正規表現はそれらに一致します。

于 2013-08-08T15:03:54.943 に答える
0

emacsのバグでしょうか?

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

JS で動作します。http://gskinner.com/RegExr/ を参照してください(「グローバル」をチェックしてください)。

于 2013-08-08T15:03:58.147 に答える