0

私は正規表現にかなり慣れていません。次の方法がわからない:

「:p_id」を特定の値に置き換えます。

たとえば、単に「:p_id1」を値に置き換えたい場合、「:p_id10」も同じ値に置き換えられますが、これは私が望むものではありません。

また、":p_id" の前後に句読点を入れることもできます (例: "=:p_id1)"

何かアドバイス?

4

3 に答える 3

1

\b(単語境界) 演算子を使用する

myString.replaceAll(":p_id1\\b","some replacement");

参照Pattern>境界マッチャー

于 2013-05-14T08:23:33.697 に答える
0

パターンの最後で否定先読みを使用できます。

例えば:

Pattern pattern = Pattern.compile(":p_id\\d(?!\\d)");
String example = ":p_id1 :p_id10";
Matcher matcher = pattern.matcher(example);
while (matcher.find()) System.out.println(matcher.group());

出力:

:p_id1
于 2013-05-14T08:30:07.803 に答える