PMDでは、 で始まる醜い変数について警告するルールが必要ですmy
。
これは、 で始まるすべての変数を受け入れる必要があることを意味します。ない皮切りにmy
。
したがって、次のように動作する RegEx (re) が必要です。
re.match('myVar') == false
re.match('manager') == true
re.match('thisIsMyVar') == true
re.match('myOtherVar') == false
re.match('stuff') == true
いろいろ試してみましたが、まだうまくいきません。
ベストアンサー1
^(?!my)\w+$
動作するはずです。
まず、文字列の先頭で一致できないことを確認してからmy
、文字列の末尾まで英数字を一致させます。文字列内の任意の場所に空白があると、正規表現は失敗します。入力に応じて、文字列の前後の空白を削除してから正規表現に渡すか、 のようにオプションの空白マッチャーを正規表現に追加する必要があります^\s*(?!my)(\w+)\s*$
。この場合、後方参照 1 には変数の名前が含まれます。
変数名が特定の文字グループで始まることを保証する必要がある場合、例えば[A-Za-z_]
、
^(?!my)[A-Za-z_]\w*$
+
からへの変更に注意してください*
。