Java 正则表达式 怎么判断字符串不含某个字符?

我想判断一个字符串,包含"告诉我"、“朋友”但"告诉我"前面不包含“别”,并且“告诉我”和"朋友"之间有字符,"朋友"不在末尾。这个表达式改怎么写?比如:你别去告诉我朋友... 我想判断一个字符串,包含"告诉我"、“朋友”但"告诉我"前面不包含“别”,并且“告诉我”和"朋友"之间有字符,"朋友"不在末尾。这个表达式改怎么写?
比如:你别去告诉我朋友。这个就匹配为false ;“你去告诉我朋友”,这个就匹配为true
展开
 我来答
小傻

推荐于2018-03-29 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31134
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部

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();
    }
antonio306
推荐于2016-01-24 · TA获得超过318个赞
知道小有建树答主
回答量:262
采纳率:0%
帮助的人:238万
展开全部
Pattern p = Pattern.compile("\\w*[^别]告诉我\\w+朋友\\w+");
Matcher m = p.matcher("你别告诉我朋友");
System.out.println(m.find());

你说的“你去告诉我朋友”,这个就匹配为true 不太对吧,违反了“告诉我”和"朋友"之间有字符,"朋友"不在末尾
更多追问追答
追问
包含"告诉我"、“朋友” 但 "告诉我" 前面的任意一个字符中不包含“别”,并且“告诉我”和"朋友"之间有0个或0个以上字符,“朋友”后可以有或者没有字符。

这个怎么写呢?
追答
Pattern p = Pattern.compile("^[^别]*告诉我.*朋友.*$");
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
龙光瑞像416
2015-04-22 · 超过21用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:37.5万
展开全部
regex="[^别]*告诉我.*朋友$"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-04-22
展开全部
为什么需要正则呢,直接遍历句子判断就可以啦呀
追问
要求正则。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式