![](/img/trans.png)
[英]Case-insensitive string replace-all in JavaScript without a regex
[英]case-insensitive regex for colon in a string
我正在尝试匹配具有以下形式的字符串:
abcd:vxyz
即:4个字符,后跟一个冒号,然后是三个(或最多)4个字符。
我想进行大小写不匹配的比赛。
有人可以帮忙吗?
/^[a-z]{4}:[a-z]{3,4}$/i
........
以下正则表达式应该起作用:
"^[a-zA-Z]{4}:[a-zA-Z]{3,4}$"
{4}部分表明它应与前一个符号的四个副本完全匹配,该符号可以是“ a”和“ z”之间的任何字符,也可以是“ A”和“ Z”之间的任何字符。
{3,4}部分创建了3到4之间的副本范围(包括3和4),而'^'符号表示它应该从给定字符串的开头开始,而'$'符号表示它应该在结尾处结束给定字符串的。
您的示例是按字母顺序排列的,但尚不清楚您所需的正则表达式是否应限于此。 如果要匹配这些组中的任何字符:
/^.{4}:.{3,4}$/i
另一种非正则表达式的方法是在冒号上使用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));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.