6

Javaでの正規表現は初めてです。ファイル名が次の形式であるかどうかを確認するにはどうすればよいですupdate_9_0_27か? のようなもの[0-9][\\_][0-9][\\_][0-100]ですか?

4

2 に答える 2

7

以下が機能するはずです。

^[a-zA-Z]+_\d_\d_\d{1,2}$

^とは文字列アンカーの$始まりであるため、文字列の一部だけに一致することはありません。それぞれ\dが1桁に一致し{1,2}、最後の後の\dは「1桁から2桁までの一致」を意味します。

ファイル名のupdate部分が常に一定である場合は、次を使用する必要があります。

^update_\d_\d_\d{1,2}$

この正規表現を Java 文字列で作成する場合、各バックスラッシュをエスケープする必要があるため、文字列は"^update_\\d_\\d_\\d{1,2}$".

于 2013-05-16T23:46:19.973 に答える
2

桁の位置は固定されていますか、つまり 1-1-2 ですか?

^update\_\d\_\d\_\d\d$

Java 文字列で使用すると、バックスラッシュをエスケープする必要があります

"^update\\_\\d\_\\d\\_\\d\\d$"

[0-9][\\_][0-9][\\_][0-100]1 桁、アンダースコア、1 桁、アンダースコア、0 から 100 を意味し、このシーケンスが文字列のどこにでも現れる場合、

".*[0-9][_][0-9][_](100|[1-9][0-9]|[0-9]).*"

リテラル アンダースコアを指定する[_]代わりに使用していることに注意してください。\_最後の部分では、具体的に 0 ~ 100 をテストします。

于 2013-05-16T23:45:41.067 に答える