正则,必须包含多个指定字母

xutower 2010-01-20 06:58:11
某个字符串 必须包含多个指定的字母才能通过。

如某个字符串 str ,它必须包含 "a",并且包含"c",并且包含 "e" ,"ace" 为 一个字母乱序排列的字符串。

稍微看了下正则教材,没看到逻辑与的运算,不知道怎么搞了。
...全文
291 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
浴火_凤凰 2010-01-20
  • 打赏
  • 举报
回复
楼主那是需求还是举例?
xutower 2010-01-20
  • 打赏
  • 举报
回复
是举个例子,我想用于数据库查询时的匹配,用正则方便 , 如果要写函数的话,就麻烦了。谢谢yixianggao 正则真的没办法解决自由排列的问题吗?如果是,那就认了。。
yixianggao 2010-01-20
  • 打赏
  • 举报
回复
正则用于检测特定模式匹配,对于自由排列组合的问题是无法处理的,
虽然对于三个字母的情况可以列出所有的排列情况,但是太费时了,得不偿失!

对于 lz 的需求可以自己封装函数判断

L@_@K
function TestMultipleSegmentIgnoreCase(arrRegExpSegment, sGivenString) {
var isMatch = true;
var reg;
for (var i=0, len=arrRegExpSegment.length; i<len; i++) {
reg = new RegExp(arrRegExpSegment[i], "gi");
if (!reg.test(sGivenString)) {
isMatch = false;
break;
}
}

return isMatch;
}

var str = "A1c2E3";
var arrReg = ["a","c","e"];
alert(str + ": " + TestMultipleSegmentIgnoreCase(arrReg, str));
str = "a1c203";
alert(str + ": " + TestMultipleSegmentIgnoreCase(arrReg, str));
一弗楚 2010-01-20
  • 打赏
  • 举报
回复
最简单的就匹配三次
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2010-01-20 06:58
社区公告
暂无公告