草庐IT

javascript - JS正则表达式替换数字

尝试使用JS.replace将整数替换为字符串来理解一些正则表达式。例如,字符串可以是:varstring='image[testing][hello][0][welcome]';我想用另一个值替换“0”。我最初使用的是:string.replace(/\[\d\]/g,'[newvalue]');但是当我们开始替换两位数或更多(12、200、3204,你明白我的意思)时,它就停止正常工作了。也不确定如何让它按照我想要的方式运行。提前致谢。非常感谢。 最佳答案 您需要指定多个数字:string.replace(/\[\d+\]/g,

javascript - 为什么这个正则表达式会使 Chrome 挂起?

尝试将其输入Chrome的JS控制台。这是我发现的用于检查某些内容是否为有效URL的正则表达式:"http://www.kvraudio.com/".match(/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w\.-]*)*\/?$/);返回一个匹配项,这是应该的。现在试试这个:"tp:/www.kvraudio.com/forum/viewtopic.php".match(/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w\.-]*)*\/?$/);返回Null,因为它不匹配。现

javascript - 允许法语文本和英语文本的正则表达式?

我想使用一个允许的正则表达式没有特殊字符的英文文本。没有特殊字符的法语文本。它将始终禁止在两种语言中使用特殊字符,如@、#、%等。我试过下面的代码:if(this.value.match(/[^a-zA-Z0-9]/g)){this.value=this.value.replace(/[^a-zA-Z0-9]/g,'');}它适用于英文文本,但问题是当我提供像éléphant这样的法文文本时,它会将法文字符视为特殊字符,并删除法文字符。所以éléphant变成了lphant。有没有办法允许正则表达式中包含法语字符?非常感谢。 最佳答案

JavaScript 正则表达式 - 空参数使正则表达式匹配

我正在编写一个用于JavaScript的正则表达式。在测试时,我遇到了一些奇怪的行为并将其归结为以下几点:/^[a-z]/.test("abc");//我假设最后一个案例将返回false,因为它不符合正则表达式(值为null,因此不以范围内的字符开头)。那么,谁能向我解释为什么情况并非如此?如果我在C#中做同样的测试:varregex=newRegex("^[a-z]");varres=regex.IsMatch(null);//...我得到一个ArgumentNullException,这是有道理的。所以,我想在JavaScript中测试正则表达式时,您必须手动执行null检查吗?我

javascript - 在 Chrome 中工作,但在 Safari 中中断 : Invalid regular expression: invalid group specifier name/(? <=\/)([^#]+)(?=#*)/

在我的Javascript代码中,这个正则表达式/(?在Chrome中工作正常,但在safari中,我得到:Invalidregularexpression:invalidgroupspecifiername有什么想法吗? 最佳答案 看起来像Safaridoesn'tsupportlookbehindyet(即您的(?)。一种替代方法是将/在非捕获组之前出现的,然后仅提取第一组(/之后和#之前的内容)。/(?:\/)([^#]+)(?=#*)/此外,(?=#*)很奇怪-你可能想要向前看某些东西(例如#或字符串的末尾),而不是*量词(

javascript - 匹配具有唯一数字的字母数字词(不是仅限数字的词)

使用正则表达式,我只想选择以下词:是字母数字不要只包含数字不只包含字母有独特的数字(1个或更多)我不太擅长正则表达式,但到目前为止,我已经尝试过[^\d\s]*(\d+)(?!.*\1)这让我离想要的输出还很远:(这里是输入字符串:Iwouldlikeabc123tomatchbutnot123.ab12sshouldalsomatchOnlynumber-wordslike1234shouldnotmatchWordscontainingsamenumberslikeab22sshouldnotmatch234shouldnotmatchhel1lo2haha3hoho4hel1lo

javascript - 用破折号替换空格的正则表达式

我想弄清楚我需要什么正则表达式来取值并用破折号替换空格(在Javascript中)?也就是说,如果我有北美,它会返回给我北美?我可以做类似varfoo=bar.replace('','-')的事情吗? 最佳答案 最好用:varstring="findthisandfindthat".replace(/find/g,"found");替换所有出现的地方。 关于javascript-用破折号替换空格的正则表达式,我们在StackOverflow上找到一个类似的问题:

javascript - 正则表达式缺少括号

我认为Regex不能用于检测缺少的括号(因为无法计算对数)的想法是否正确?使用JavaScript我有大约一千个字符串已被chop并需要手动编辑。我希望能够使用代码将此列表缩小到需要注意的列表。字符串可以被认为是以下形式:(这个可以,不需要注意)这也[好]这很糟糕(需要编辑这[(也)不好这是}不好这个字符串没有任何类型的括号,但也必须考虑如果这不可能,那么我只需要编写一个函数来查找括号对。谢谢 最佳答案 functionisFine(str){return/[(){}\[\]]/.test(str)&&(str.match(/\(/

javascript - 正则表达式,选择其他文本中的一部分

我对下一个任务有点无能为力。我希望在"之间选择一个文本,它在标签内但不在标签外,即一个选择在另一个选择中。我有下一个标签:并且我只想选择位于"和标签之间的文本。应该被选中"没有被选中"也被选中"|>"没有被选中"我想一想(\)但它不起作用。 最佳答案 我已经使用两个正则表达式正确匹配了它。varinput='c"d"ef"j"kl';varoutput=input.match(//g).map(function(x){returnx.match(/"(.*?)"/g)})alert(output)如您所见,正确匹配“b”、“g”、“

javascript - 用重复n次的字符替换整数(n)

假设我有一个字符串:"__3_"...我想变成:"__###_"基本上用等同于整数值的重复出现的#替换整数。我怎样才能做到这一点?我知道反向引用可以与str.replace()一起使用varstr='__3_'str.replace(/[0-9]/g,'x$1x'))>'__x3x_'而且我们可以使用str.repeat(n)来重复字符串序列n次。但是如何使用.replace()的反向引用作为.repeat()的参数?例如,这不起作用:str.replace(/([0-9])/g,"#".repeat("$1")) 最佳答案 "__