Java 正则表达式匹配具有特殊字符的单词
我想在包含不同信息的文件中查找任何单词,如日期、百分比和一些字符串 输入:Java 正则表达式匹配具有特殊字符的单词,java,regex,Java,Regex,我想在包含不同信息的文件中查找任何单词,如日期、百分比和一些字符串 输入: 21-02-2015 wordA 22 wordB wordC 结果: wordA wordB wordC 请帮助我,因为我不熟悉正则表达式。这是可以检索任何字符串的正则表达式,包括找到它的特殊字符: (([a-zA-Z]+)(\W)?([a-zA-Z]+)) ([a-zA-Z]+)在aazz (\W)查找特殊字符 ([AZ-Z+])< /代码>如果特殊字符在中间,则查找单词的其余部分。 Java的正则表达式
21-02-2015 wordA 22 wordB wordC
结果:
wordA wordB wordC
请帮助我,因为我不熟悉正则表达式。这是可以检索任何字符串的正则表达式,包括找到它的特殊字符:
(([a-zA-Z]+)(\W)?([a-zA-Z]+))
在aazz([a-zA-Z]+)
查找特殊字符(\W)
[\w&&[^\d]]
将匹配一个单词字符,而不是一个数字。与之一起应匹配“特殊字符”
因此,该代码:
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
你试过什么吗?如果你只是让我们给你一个解决方案,你将永远对这个问题保持陌生,这里的规则是什么?查找以
word
开头的单词?找到第二个、第四个和第五个单词?查找不包含数字的单词(看起来几乎与标题相反)?查找由五个字符组成的单词?也;您使用的是Java还是Apple的库?当然不是两者都有。比芬:实际上,它是在寻找构成单词的每个字符串(例如:Hello或Name等)。我在使用Java,我的问题是,我似乎无法用特殊的语言捕捉输入中的每个单词character@MedBEN那么您可能需要更改问题的标题。请把标签清理干净。不管怎样,22
不是一个单词在什么方面?标题可以,但22是一个数字,我不想在结果中出现。如果一个单词中有多个“特殊”字符,这将不起作用。你为什么要使用这么多的捕获组?正如我说的,我对regex是新手,我愿意接受任何建议