ドットを除くすべての \b 文字を含む正規表現を使用する必要があります。
何かのようなもの[\b&&[^.]]
たとえば、次のテスト文字列では:
"somewhere deep down in some org.argouml.swingext classes and"
org.argouml.swingext
文字列を一致させたいのですが、org.argouml
文字列があまり一致しません。(Matcher.find()
メソッドを使用)
私が使用する場合:\b(package_name)>\b
それらは両方とも一致しますが、これは私が望むものではありません。
私が使用した場合:\b(package_name)[\b&&[^\.]]
私はPatternSyntaxException
私が使用した場合:\b(package_name)(\b&&[^\.])
何も一致しません。
このリンクを使用して正規表現をテストします。
コンテキスト: プロジェクトのパッケージ名のリストがあり、いくつかのテキスト内でそれらを検索する必要があります。上記の例からわかるように、ネストされたパッケージが見つかった場合、外側のパッケージも一致させたくありません。
\s
パッケージが行末にある可能性があるため、またはクラスに含まれる文字など:
の他の非単語文字がその後に続く可能性があるため、最後に文字クラスを使用していません。を減算したいだけです。\b クラスから。)
\b
誰かがこれを行う方法を知っていれば、私はとても感謝しています:)ありがとう