Java 正则表达式 怎么判断字符串不含某个字符?
我想判断一个字符串,包含"告诉我"、“朋友”但"告诉我"前面不包含“别”,并且“告诉我”和"朋友"之间有字符,"朋友"不在末尾。这个表达式改怎么写?比如:你别去告诉我朋友...
我想判断一个字符串,包含"告诉我"、“朋友”但"告诉我"前面不包含“别”,并且“告诉我”和"朋友"之间有字符,"朋友"不在末尾。这个表达式改怎么写?
比如:你别去告诉我朋友。这个就匹配为false ;“你去告诉我朋友”,这个就匹配为true 展开
比如:你别去告诉我朋友。这个就匹配为false ;“你去告诉我朋友”,这个就匹配为true 展开
4个回答
展开全部
java使用match和pattern来实现判断字符串是否不含有某个字符,实例如下:
/**
* 判断字符串是否数值
* @param str
* @return true:是数值 ;false:不是数值
* @author:WD_SUHUAFU
*/
private boolean isNumber(String str)
{
Pattern pattern = Pattern.compile("^[0-9]+(.[0-9]*)?$");
Matcher match=pattern.matcher(str);
return match.matches();
}
展开全部
Pattern p = Pattern.compile("\\w*[^别]告诉我\\w+朋友\\w+");
Matcher m = p.matcher("你别告诉我朋友");
System.out.println(m.find());
你说的“你去告诉我朋友”,这个就匹配为true 不太对吧,违反了“告诉我”和"朋友"之间有字符,"朋友"不在末尾
Matcher m = p.matcher("你别告诉我朋友");
System.out.println(m.find());
你说的“你去告诉我朋友”,这个就匹配为true 不太对吧,违反了“告诉我”和"朋友"之间有字符,"朋友"不在末尾
更多追问追答
追问
包含"告诉我"、“朋友” 但 "告诉我" 前面的任意一个字符中不包含“别”,并且“告诉我”和"朋友"之间有0个或0个以上字符,“朋友”后可以有或者没有字符。
这个怎么写呢?
追答
Pattern p = Pattern.compile("^[^别]*告诉我.*朋友.*$");
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
regex="[^别]*告诉我.*朋友$"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-04-22
展开全部
为什么需要正则呢,直接遍历句子判断就可以啦呀
追问
要求正则。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询