java正则匹配出字符串"-s "*.csv*"中csv
时间: 2023-11-21 12:13:05 浏览: 61
可以使用正则表达式 `(?<=\*\.)([^*]+)` 来匹配出字符串中的 `csv`。
```java
String str = "-s \"*.csv*\"";
Pattern pattern = Pattern.compile("(?<=\\*\\.)([^*]+)");
Matcher matcher = pattern.matcher(str);
if (matcher.find()) {
String csv = matcher.group(1);
System.out.println(csv); // 输出:csv
}
```
该正则表达式使用了正则表达式中的零宽度正回顾后发断言 `(?<=...)`,表示匹配前面的内容,但不包括该内容本身。其中 `\\*\\.` 表示匹配 `*.`,`[^*]+` 表示匹配除了 `*` 以外的任意字符,`()` 表示捕获匹配到的内容。使用 `group(1)` 即可获取到捕获到的内容。
相关问题
在java中获取文件以.csv或者.CSV或者.json或者.JSON结尾的正则表达式怎么写
获取以.csv、.CSV、.json或者.JSON结尾的文件,可以使用以下正则表达式:
```
^.*\.(csv|CSV|json|JSON)$
```
其中,`^` 表示匹配字符串开头,`.*` 表示匹配任意字符0次或多次,`\.` 表示匹配点号(.)的转义字符,`(csv|CSV|json|JSON)` 表示匹配csv、CSV、json或者JSON,`$` 表示匹配字符串结尾。
正则表达式[A-Za-z][-A-Za-z0-9_.(),\[\]\s:]*
这个正则表达式可以匹配一个字符串,该字符串以一个字母(大小写皆可)开头,后面可以跟随0个或多个字符,包括字母(大小写皆可)、数字、下划线、点、逗号、括号、方括号、空格或者冒号。其中,方括号内的字符被视为字符集合,表示匹配其中任意一个字符。该正则表达式通常用于匹配标识符、变量名、函数名等命名规范的字符串。例如,"hello_world"、"myVariable123"、"func(x, y)"、"my-class"、"My_File.csv"等字符串都可以匹配该正则表达式。