保留表情符号,Java正则表达式
我有一个程序可以过滤字符串并保留英文字符和表情符号。我正试图得到一个正则表达式,它可以保存表情符号,比如:),:D,:(等等,但是去掉了单个的“:”或“(“或”)”…基本上我想要“:”和“)”,否则我需要过滤它们…在我的程序中,我可以保留表情符号,但我也得到:)以及它…你能帮我吗保留表情符号,Java正则表达式,java,regex,emoticons,Java,Regex,Emoticons,我有一个程序可以过滤字符串并保留英文字符和表情符号。我正试图得到一个正则表达式,它可以保存表情符号,比如:),:D,:(等等,但是去掉了单个的“:”或“(“或”)”…基本上我想要“:”和“)”,否则我需要过滤它们…在我的程序中,我可以保留表情符号,但我也得到:)以及它…你能帮我吗 String pattern = "[^\\w^\\s^(:))]"; Pattern p = Pattern.compile(pattern); Matcher m = p.matcher(text); text =
String pattern = "[^\\w^\\s^(:))]";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(text);
text = m.replaceAll("");
谢谢您的帮助。您试图在方括号内使用分组括号。这不起作用,因为方括号内的括号失去了它们的特殊含义 方括号定义的是单个原子,而不是原子序列。相反,您应该简单地使用两个分支选项:一个用于
:
,另一个用于括号,D
等,并在每个分支中使用
您可以找到有关正则表达式语法的更多信息
此外,您可能会考虑一些更复杂的表情,如
:-)
请记住,我们都讨厌IM客户端和其他程序,用它们的图像替换代码片段或其他不常见的文本。最常见的是8)
offtopic:@kirilloid不,最常见的是(e)
和(n)