2011-08-11 10 views
7

誰もJSでPOSIX正規表現(?<!X)Aをどのように翻訳しているのですか? XでJS regexp(?<!X)A

+1

:http://blog.stevenlevithan.com/archives/模倣 - lookbehind - javascript。 – pimvdb

+0

私は負のlookbehindsがPOSIXにあるとは思わないが、lookaroundsはBREやEREではサポートされていません。 ;-) – Qtax

答えて

3

短い答えを先行していない場合

のみを探す:あなたはできません。

JavaScriptのRegExp Objectは、ネガティブなルックアヘッドをサポートしていません。

+0

@dotweb、-1、そうではありません。あなたの答えはそれ以外の場合は証明しません。 – Qtax

5

単に(エルゴそこにはXがない)、または非Xの文字があることを最初のいずれかを確認してください。複数の文字については

(^|[^X])A 

、あなたはAをチェックして、Aに続くXのためにマッチしたテキストをチェックし、それが第二のパターンに一致する場合、一致を捨てることができます。

+0

+1グローバル修飾子がオンでない限り、これは同じように動作します。 – Paulpro

+3

これは、Xが単一の文字である場合** **のみ動作します。 –

0

これを試してみてください:

あなたが "A" の後の部分の必要がある場合
var str = "ab"; 
console.log(/a(?!x)/i.exec(str)); //a 

var str = "ax"; 
console.log(/a(?!x)/i.exec(str)); //null 

は、試してください:あなたはこの興味深いを見つけるかもしれない

/a(?!x).*/i 
+0

これはまったく問題を解決しません... –

関連する問題