我正在尝试匹配字符串中的用户名,例如:"user:hi,hasanyoneseenusertodayuser"要匹配的案例:substring是第一个单词尾随一个空格,中间被空格包围或者最后一个单词前导一个空格允许跟在单词后面但不作为结果返回的字符:“:;,”以下匹配所有情况但返回不需要的空格和字符(我只想替换用户名):/(^(user)[\s|:|;|,])|(\s(user)[\s|:|;|,]?\s)|(\s(user))/gi最后我只想用链接替换用户名。编辑:请注意,如果用户名是url或其他字符串的一部分,则无法匹配,除非特殊字符尾随它。 最佳答案
如何使用Javascript格式化字符串以匹配正则表达式?我使用的英国邮政编码可能符合以下任何条件N13LDEC1A3ADGU348RR我有以下正则表达式可以正确验证字符串,但我不确定如何使用正则表达式作为掩码将EC1A3AD格式化为EC1A3AD/GU348RR到GU348RR/N13LD到N13LD。我的正则表达式是/^[A-Za-z]{1,2}[0-9A-Za-z]{1,2}[]?[0-9]{0,1}[A-Za-z]{2}$/谢谢 最佳答案 如果使用正则表达式/^([A-Z]{1,2}\d{1,2}[A-Z]?)\s*(\d[
在JavaScript中,使用这个正则表达式很容易匹配字母和重音符号:text.match(/[a-z\u00E0-\u00FC]+/i);只有小写字母和重音符没有i选项:text.match(/[a-z\u00E0-\u00FC]+/);但是匹配仅大写字母和重音符号的正确正则表达式是什么?编辑:就像下面已经提到的答案一样,上面的正则表达式也匹配其他一些符号,并且遗漏了一些特殊的重音字符,如ý和Ý、ć和Ć以及许多其他字符。 最佳答案 范围U+00C0-U+00DC应该是U+00E0-U+00FC所以这个text.match(/[A-
我正在尝试弄清楚以下正则表达式以及为什么它会给出我得到的结果。我有以下javascript:letresult='7979797'.replace(/797/g,'77');我本来期望结果的值为7777,但它的值为77977。我希望有人能解释为什么我得到77977的值,以及我需要更改正则表达式以将所有具有模式797的字符串替换为77。 最佳答案 当正则表达式用77替换第一个797时,它不会重新扫描它替换的Material(77),所以它接下来会看到9,然后是797,从而得出您得到的结果。
假设我有两个字符串变量:a='LOVE';b='....';我如何使用正则表达式(或其他最快的)来组合a+b来制作:c='L.O.V.E.';在我的例子中,两个字符串都是4个字符长,并且第二个字符串不是固定字符,我只是将它设为一个点以使其在屏幕上看起来更清晰。 最佳答案 您可以简单地遍历较长的字符串,并在每次迭代中将两个字符串中的一个字符添加到结果字符串中。我认为您在那里不需要任何正则表达式:a='LOVE';b='....';varcombinedString='';varlargerLength=Math.max(a.lengt
我有一个绑定(bind)到keyup()的输入在每个按键上,我希望它:不允许任何非数字、字母或破折号的字符,并且将所有大写字符替换为小写字符。正则表达式让我头晕目眩,有什么帮助吗?$('.my-input').keyup(function(){this.value=this.value.replace(/[^0-9a-z-]/g,/[0-9a-z-]/g);}); 最佳答案 this.value=this.value.toLowerCase().replace(/[^0-9a-z-]/g,"");
是否有任何正则表达式(!)可以测试字符串是否包含3位数字(不要介意顺序)?(至少3位数字。我也很高兴看到确切的3解。(如果你好心的话))例子:abk2d5k6//3digitsabk25k6d//samehere//3digits我的失败尝试:.+?(?=\d){3}谢谢。(请仅提供正则表达式解决方案,以供学习之用。) 最佳答案 嗯,出于学习目的,我建议通读这篇非常全面的文章tutorial.否则,JavaScript正则表达式可能看起来像这样:如果要确保至少有三位数字:/^(?:\D*\d){3}/或者如果你想确保正好有三位数字:
我需要将用户输入限制为字母numeric字符。如果只有英文就容易了$[a-z]^/i但我需要在全局范围内进行,例如对于每一种语言。是否有包含所有“字符”的顺序Unicode范围?如果没有,我该怎么做?附注我看到了this回答,但答案是针对python的。 最佳答案 如果您使用SteveLevithan'sXRegExppackagewithUnicodeadd-ons,那么就很简单了:varregex=XRegExp('^\\p{L}*$');(请注意,^是字符串开头的anchor,$是字符串结尾的anchor,反之则不然)在纯Ja
我正在尝试使用有效的日期时间格式验证文本框。我需要检查24小时日期时间格式。所以我将以下文本输入到我的文本框22.05.201311:23:22但它仍然没有正确验证它。我对正则表达式完全陌生。这是到目前为止我已经尝试过的$('#test1').blur(function(){varvalidTime=$(this).val().match(/^[0,1]?\d\/(([0-2]?\d)|([3][01]))\/((199\d)|([2-9]\d{3}))\s[0-2]?[0-9]:[0-5][0-9]?$/);debugger;if(!validTime){$(this).val(''
我正在尝试创建一个只允许以下0-9、加号、减号和括号()的正则表达式。对每个提到的长度没有限制。到目前为止,我有这个,但它似乎不起作用。/^[0-9-+]+$/ 最佳答案 连字符-必须在charlist的末尾,否则表示间隔。/^[0-9()+-]+$/0-9可以简写为\d/^[\d()+-]+$/ 关于javascript-允许数字、加号、减号和括号的正则表达式,我们在StackOverflow上找到一个类似的问题: https://stackoverflow