2016-06-14 6 views
2

私は以下のテキストを持っており、変数と関数の型だけを一致させたいと思います。したがって、最初の行では、最初の "float"と一致させたい、2番目の行では、最初と3番目の "float"と一致させ、 "int"と同じにしたい。ドットまたは:文字で始まらない文字列を一致させる

もちろん、これは動的です。基本的には、ドットまたはa:記号で始まらない正規表現文字列と一致させたいと思います。私は否定先読みしてみましたが、それは以下の

float JsValue.float 
float JsValue:float(float testFloat) 
int JsValue.int 
int JsValue:int(int testInt) 

正規表現は、私が欲しいものではありませんすべてのものをキャプチャ動作させることができませんでした。あなたが否定文字クラスを使用することができます後読みが存在しない場合には

\b(int|bool|float)\b 

おかげ

答えて

3

:あなたは後読みと同じことをするだろうどのように

/(?:^|[^:.])\b(int|bool|float)\b/mg 

RegEx Demo

+0

?私はJavaScriptの見た目の欠如を緩和するライブラリを使用しています。 –

+0

lookbehindを使うと、 '(?<![:。])\ b(int | bool | float)\ b' – anubhava

+0

これはうまくいきましたか? – anubhava

関連する問題