私はたくさんのものを探しましたが、以下の質問に対しては完璧な解決策を得られません。Java正規表現を作成するには
regexを作成してパターンオブジェクトを作成し、 の文字列をMatcherとマッチングすることによって、文字列の値を文字列から取得するコードを作成しました。
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("product val='321ddfgsagsdf' find way");
list.add("product val='781ertergdfv' find way");
list.add("product val='96puil$hjgh&fgh' find way"); //Here special characters in string
list.add("product val='25errgfgsagsdf' find way");
list.add("product val='562qweddfgsagsdf' find way");
for (String string : list) {
Pattern myPat = Pattern.compile(" val='(.*?)'", 2);
Matcher m = myPat.matcher(string);
if (m.find()) {
System.out.println("Found value: " + m.group(1));
} }
}
ここでは、一重引用符内のrefの値を取得できます。
しかし、3番目の値はref値に "$"と "&"があります。これはパターンで処理したくありません。
文字列に特殊文字が含まれていてもそれを避けることができます。しかし、私はアプリが非常に大きな文字列をチェックしているので、正規表現を使ってそれを作りたいと思っています。
Java正規表現でこの特殊文字を避ける方法はありますか?
?スペースは適格ですか?パーチシエーション? – Lucero
あなたのコードは確実に機能しますか?あなたはマッチャーを実行していません。 –
@Lucero、スペースと句読点は使用できません。 –