ドットを除くすべての \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
誰かがこれを行う方法を知っていれば、私はとても感謝しています:)ありがとう