2012-11-19 19 views
5

私は、JavaScriptのものを含め、ほとんどの正規表現エンジンが単語の境界に一致するように\bを持っていることを知っています。Vimの正規表現の先頭および末尾に「 <" and ">」のJavaScriptの同等語句はありますか?

しかし、Vimはまた、2個の特定の正規表現の原子があります

んJavaScriptがこれらの原子に相当するものが、そうでない場合表現する方法がありますより正確なセマンティクスを他の方法で使うことができますか?

+0

実際に私は '\ <' and '\> 'が実際にVimから来ていると心配し始めました。今チェックしています... – hippietrail

+0

しかし、ある単語の始まりと別の単語の終わりの両方の単語境界はありませんか?あなたが処理しようとしている区別は何ですか? –

+0

@MarkReed、いいえ、単語境界は単語の直前/直後の位置にのみ一致します。単語の前後の空白。 – stema

答えて

7

私が知る限り、あらかじめ定義されたものはありません。しかし、あなたができることは、それが単語の始まりか終わりかを調べるために、単語境界にlookaheadを追加することです。

\<は、\b(?=\w)となります。これは、単語境界の後に単語文字が==>単語の先頭に続くかどうかをチェックします。 See this as example on regexr

\>は、\b(?!\w)となります。これは、単語の境界でない単語境界が単語の末尾に来るかどうかを確認します。

+0

+1ですが、2番目の場合は '(?= \ W)'の代わりに '(?!\ w)'を使用してください。 –

+0

@Tim、あなたのコメントのおかげで、私はそれをソリューションに追加しました。 – stema

+0

これは実際にはっきりしていません。あなたの解決策は文字列の最後にある単語の境界に一致しませんでした。 –

関連する問題