字符串中冒号的不区分大小写的正则表达式

时间:2011-02-21 23:35:26

标签: javascript regex

我正在尝试匹配具有以下形式的字符串:

abcd:vxyz

即:4个字符后跟冒号,然后是3个(或最多)4个字符。

我想做INSENSITIVE案例。

任何人都可以帮助解决这种模式吗?

4 个答案:

答案 0 :(得分:5)

/^[a-z]{4}:[a-z]{3,4}$/i

........

答案 1 :(得分:3)

以下正则表达式应该有效:

"^[a-zA-Z]{4}:[a-zA-Z]{3,4}$"

{4}部分表示它应该恰好匹配前一个符号的四个副本,它可以是'a'和'z'之间的任何字符,以及'A'和'Z',包括在内。

{3,4}部分创建3到4之间的复制范围,而'^'符号表示它应该从给定字符串的开头开始,'$'符号表示它应该结束在给定字符串的末尾。

答案 2 :(得分:2)

您的示例是按字母顺序排列的,但目前还不清楚您所需的正则表达式是否仅限于此。如果您想匹配这些组中的任何字符:

/^.{4}:.{3,4}$/i

答案 3 :(得分:1)

另一种非正则表达式方法是在冒号上split()。检查第一个元素的长度为4,第二个元素的长度为3或4。

var foo = 'abcd:123a';
var bar = 'fds:0';

var af = foo.split(':');
var isMatch = ((af[0].length==4) && (af[1].length==3 || af[1].length==4));
alert (isMatch);

var ab = bar.split(':');
alert ((ab[0].length==4) && (ab[1].length==3 || ab[1].length==4));