这样的正则表达式怎么写:不包含abc,包含def,不包含ghi,但ghidefabc能被匹配,但abcdefghi不匹配

gaohuijue 2016-11-17 04:31:49
如题。就是正则表达式考虑字符串顺序是否匹配,请问如何实现?
...全文
377 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
nikyotensai 2016-11-23
  • 打赏
  • 举报
回复
能不能别什么都要求正则表达式
rickylin86 2016-11-23
  • 打赏
  • 举报
回复

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test{
	public static void main(String[] args){
		String content = "def";
		String regex = "^((?!.*?abc)(?=.*def)(?!.*?ghi)[a-zA-Z]+)|ghidefabc$";
		Matcher matcher = Pattern.compile(regex).matcher(content);
		System.out.println(matcher.matches());
	}
}
baidu_35198066 2016-11-21
  • 打赏
  • 举报
回复
二楼正解。应该是这样
Inhibitory 2016-11-21
  • 打赏
  • 举报
回复
这种需求,直接写代码判断容易一些
Mr爱好者 2016-11-21
  • 打赏
  • 举报
回复
^((?!abc)[a-z]+)[d][e][f]([a-z]+(?!ghi))$ 应该是这样吧
Mr爱好者 2016-11-21
  • 打赏
  • 举报
回复
^((?!abc)[a-z]+)[d][e][f]([a-z]+(?!ghi))$ 应该是这样吧

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧