1. ホーム
  2. regex

[解決済み] RegExp マッチする文字列が my で始まらない

2022-03-07 16:44:54

質問

PMDのために、以下のような醜い変数があると警告してくれるようなルールが欲しい。 my .
これは、以下のような変数をすべて受け入れなければならないことを意味します。 NOT で始まる my .

そこで、次のような動作をするRegEx(re)が必要です。

re.match('myVar')       == false
re.match('manager')     == true
re.match('thisIsMyVar') == true
re.match('myOtherVar')  == false
re.match('stuff')       == true

いろいろ試したが、まだうまくいっていない。

解決方法を教えてください。

他の人が提案したように、ルックアヘッド・アサーションを使用することができます。あるいは、基本的な正規表現の構文を使用したい場合。

^(.?$|[^m].+|m[^y].*)

これは、長さが0文字か1文字の文字列にマッチします ( ^.?$ を使用することはできません。 my . あるいは、2文字以上の文字列で、最初の文字が m の後に、さらに文字が続くことがあります。 ^[^m].+ ); または、最初の文字が m が続いてはならない。 y ( ^m[^y] ).