正则表达式如何表示要匹配无顺序字符呢? 正则表达式如何表示要匹配无顺序字符呢?想要用规则: 匹配有chi 、peo、rep字符的字符串来匹配字符串 china people republic 、people republic china、 republic people china等字符串如何做呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Pattern p = Pattern.compile("(chi)|(peo)|(rep)");Matcher m = p.matcher("china people republic");System.out.println(m.find()); 但是这个正则表达式无法匹配people republic china,我要的规则是能匹配有chi 且有peo且有rep字符的字符串,包括匹配china people republic 、people republic china、 republic people china等字符串 呵呵,是这样,你有3个匹配项,3*2*1=6 也就是有6个排列组合。就算是用间隙查找,也要写6个。所以,我个人建议,你还是分三次匹配好了if(find("chi) && find("peo") && find("rep"))如果你非得一个正则,你去看看间隙匹配。 也叫零宽度匹配比如"chi(?=peo.*?rep)""chi(?=rep.*?peo)" 或者干错写6个正则,然后OR 也行(chi.*?peo.*?rep)|(chi.*?peo.*?rep)|... 你的意思不就是说只要这三个出现就行了吗?那就用下面表达式str.matches(".*("chi").*") && str.matches(".*(peo).*") && str.matches(".*(rep).*"); 一下,和我碰到的问题类似。 最后我用Indexof方法解决了! 能帮我将JAVA这段代码改为C#代码吗?感激不尽... cmd下如何停止java程序的运行 jdk中的jre和jre有什么区别? swt注册问题, 关于项目 udp中文输出的问题哪位大哥给看看!50分! static final 与 final static的区别 问身边牛人没有解决的关于进程间通信的问题 求JAVA虚拟机资料 在Application中 myeclipse导入驱动包为什么还是找不到类啊,驱动包应该放在哪啊 乱码灵异问题
Pattern p = Pattern.compile("(chi)|(peo)|(rep)");
Matcher m = p.matcher("china people republic");
System.out.println(m.find());
我要的规则是能匹配有chi 且有peo且有rep字符的字符串,
包括匹配china people republic 、people republic china、 republic people china等字符串
就算是用间隙查找,也要写6个。
所以,我个人建议,你还是分三次匹配好了
if(find("chi) && find("peo") && find("rep"))如果你非得一个正则,你去看看间隙匹配。 也叫零宽度匹配
比如
"chi(?=peo.*?rep)"
"chi(?=rep.*?peo)"
或者干错写6个正则,然后OR 也行
(chi.*?peo.*?rep)|(chi.*?peo.*?rep)|...
str.matches(".*("chi").*") && str.matches(".*(peo).*") && str.matches(".*(rep).*");