我想查找包含不同信息的文件中的任何字词,例如日期和百分比以及一些字符串。
输入:
21-02-2015 wordA 22 wordB wordC
结果:
wordA wordB wordC
请帮助我,因为我是regex的新手。
答案 0 :(得分:0)
这是可以检索任何字符串的正则表达式,包括特殊字符答案:
(([a-zA-Z]+)(\W)?([a-zA-Z]+))
([a-zA-Z]+)
在 Aa-zZ (\W)
寻找特殊字符([a-zA-Z]+)
如果特殊字符位于中间,则会查找其余单词答案 1 :(得分:-1)
Java的正则表达式实现支持character class intersection,这是一个教科书用例。
因此, [\w&&[^\d]]
将匹配单词字符,但不匹配数字。与Pattern.UNICODE_CHARACTER_CLASS
一起,它应与“特殊字符”匹配。
因此这段代码:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
class test {
public static void main(String... args) {
String input = "21-02-2015 wordA 22 wordB wordC Førtids";
Matcher matcher = Pattern.compile("[\\w&&[^\\d]]+",
Pattern.UNICODE_CHARACTER_CLASS)
.matcher(input);
while (matcher.find() ) {
System.out.println(matcher.group() );
}
}
}
产地:
wordA
wordB
wordC
Førtids