regexを使用して検出し、パスにスラッシュを入れる方法。 番号正規表現を使用してスラッシュを一致させる方法
例 文字列str =「/ urpath/23243 /のImagePath/344_licensecode /」でまた、私はパスがスラッシュと数字の一致であることを確認するために正規表現を使用します。 フォーマット一致はこのようにしなければなりません "/ 23243 /"
アイデアみたいですか?あなたは\
を使用して特殊文字/
をエスケープする必要が
おかげ
regexを使用して検出し、パスにスラッシュを入れる方法。 番号正規表現を使用してスラッシュを一致させる方法
例 文字列str =「/ urpath/23243 /のImagePath/344_licensecode /」でまた、私はパスがスラッシュと数字の一致であることを確認するために正規表現を使用します。 フォーマット一致はこのようにしなければなりません "/ 23243 /"
アイデアみたいですか?あなたは\
を使用して特殊文字/
をエスケープする必要が
おかげ
。しかし、\
もJavaで使用されるエスケープ文字ですが、シンボル自体をRegexに渡したいので、Regexのためにエスケープします。あなたは\\
とエスケープ記号をエスケープすることによってそうする。したがって、合計でスラッシュは\\/
になります。
使用このスニペット:
String input = ...
Pattern pattern = Pattern.compile("\\/23243\\/");
Matcher matcher = pattern.match(input);
if (matcher.find()) {
System.out.println("Does match!");
} else {
System.out.println("Does not match!");
}
あなたはregex101で正規表現自体を試すことができます:regex101/RkheRs
お返事ありがとうございます。パターンはどのようにパターン番号23243の代わりに一致するのですか? –
このパターンパターンへのパターン変更はPattern.compile( "\\/[^ 0-9] \\ /"); ですが、エラーをスローします –
数字は\ d +です。スラッシュは特殊文字ではないので、あなたはそれをエスケープする必要はありません。おそらくJavaで "/ \\ d + /"が必要です – mgaert
私は私のanswer.Thanksが
List<String> listArray = new ArrayList<String>();
listArray.add(file.getCanonicalPath());
//Regular expression in Java to check if String is number or not
Pattern pattern = Pattern.compile("/\\d+/");
for(String path: listArray){
//Match patter for numbers path
Matcher matcher = pattern.matcher(path);
if (matcher.find()) {
System.out.println("Does match!"+ path);
}else{
System.out.println("Does Not match!");
}
}
sorry.just例です。編集された –
あなたの質問に対する回答が見つかりました。 **あなたは**回答を受け入れることもできますか?([回答を受け入れる:どのように動くのですか?](https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)) 。これはStackOverflowの本当に重要な部分です。ありがとうございます。 – Zabuza