我有一条类似bla_bla**_**test**_1**023
的行
并希望提取_
和任何下划线之间的单词,后跟上例中的_digit
数字test
。
我尝试了以下正则表达式,但不幸的是无法正常工作:[^_ ]+(?=[ _\d])
-它使我在“ _digit”之前的所有单词不只是在_digit
之前的单词
最佳答案
这应该为您工作。将Pattern
和Matcher
与环顾四周一起使用。
public static void main(String[] args) {
String word= "bla_bla_test_1023";
Pattern p = Pattern.compile("(?<=_)([^_]+)(?=_\\d+)");
Matcher m = p.matcher(word);
while (m.find()) {
System.out.println(m.group());
}
}
O / P:
测试
关于java - 正则表达式可以在两个下划线之间取得联系,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53013824/