java正则取-(中间的内容
时间: 2023-10-12 13:27:11 浏览: 79
可以使用以下正则表达式来取出中间的内容:
```
(?<=-).+?(?=-)
```
这个正则表达式使用了正则表达式的“lookbehind”和“lookahead”功能,匹配以“-”字符开始和结束的字符串中间的内容。在 Java 代码中,可以这样使用:
```java
String str = "java正则取-中间的内容-";
Pattern pattern = Pattern.compile("(?<=-).+?(?=-)");
Matcher matcher = pattern.matcher(str);
if (matcher.find()) {
String result = matcher.group();
System.out.println(result);
}
```
这段代码会输出“中间的内容”。
相关问题
java 取文本中间
可以使用正则表达式来取文本中间的内容,具体实现可以使用 Matcher 类的 group 方法。例如,假设要取出字符串 "Hello [world]!" 中括号内的内容,可以使用以下代码:
```
String text = "Hello [world]!";
Pattern pattern = Pattern.compile("\\[(.*?)\\]");
Matcher matcher = pattern.matcher(text);
if (matcher.find()) {
String result = matcher.group(1);
System.out.println(result); // 输出 "world"
}
```
其中,正则表达式 "\\[(.*?)\\]" 表示匹配以 "[" 开头、以 "]" 结尾的字符串,并且括号内的内容为非贪婪模式(即尽可能少地匹配字符)。
java 取两个指定字符串中间的字符串
可以使用正则表达式来实现这个功能,具体代码如下:
```java
public static String getMiddleString(String original, String start, String end) {
String regex = start + "(.*?)" + end;
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(original);
if (matcher.find()) {
return matcher.group(1);
}
return "";
}
```
其中,`original`是原始字符串,`start`和`end`是两个指定的字符串。`regex`是正则表达式,使用了非贪婪模式来匹配中间的字符串。然后使用`Pattern`和`Matcher`类来进行匹配,如果找到了匹配的字符串,则返回匹配的结果,否则返回空字符串。
阅读全文