这是另一个正则表达式问题。我无法找到满足我需求的任何stackoverflow问题。
我正在使用java。我需要一个正则表达式来匹配以下文件:
my_file
my_file.123
(基本上是my_file\.(\d+)
)但我不想匹配:
my_file_name
my_file_name.123
我查找了负面的预测,但这似乎只有在我知道他的绝对后缀时才有用。我认为我想要的是广告my_file
,其中_
不是后续字符。
我如何表达上述正则表达式?谢谢你的阅读。
答案 0 :(得分:1)
您只需要匹配my_file
(以及可选文字.
后跟数字)。像,
String[] arr = { "my_file", "my_file.123", "my_file_name", "my_file_name.123" };
String regex = "my_file(\\.\\d+)?";
for (String str : arr) {
System.out.printf("%s %s%n", str, str.matches(regex));
}
输出(根据要求)
my_file true
my_file.123 true
my_file_name false
my_file_name.123 false