JavaScript是否支持正向和/或负向超前查找/向后查找?它们有哪些组合?或者,更具体地说: >积极向前>负前瞻>积极回头>负向后看解决方法:Javascript仅支持正向和负向前瞻,不支持任何向后搜索,但是您仍然可以使用回调在Javascript中模仿后者. 关于此here,有一篇不错的文章,实际上,尽管本文使用回调为lookbehind提供某种替代支持,但在支持lookbehinds但不支持变量表达式的其他语言中也可以使用相同的原理,所以这很方便.
我正在尝试匹配以下内容(这些都是单独的字符串):'Los Angeles, CA' 'New York, NY' 'Williamsburg, Brooklyn, NY'从以下字符串中:'Los Angeles, CA 90001, USA' 'New York, NY 10017, USA' 'Williamsburg, Brooklyn, NY, USA'我正在使用JavaScript.到目前为止,我有:var re = /.+[A-Z]{2}( |,)/,location = '', // Address string heresubstring = location.match(re)[0]; // Returns something like Williamsburg, Brooklyn, ...
对于非常简单的javascript模板引擎,我需要检查给定的字符串是否为javascript代码(例如if-else,for循环或while循环).因此,我使用的是这个非常简单的正则表达式/(:| = | {|})/ g(“tested” here).尽管此正则表达式几乎可以在任何时候工作,但在某些情况下在循环中使用它时却会以某种方式失败:// Very simple regex to check if string "is" javascript code var regFunc = /(:|=|{|})+/g; // For testing: a simple javascript arr...
如何使用javascript正则表达式获取第一个函数参数?例如,我在页面中有此元素,并且我想在单击标签时检索内联链接.样品:<li><a href="#blog" data-rel="close" onclick="getRSSFeed('http://moi.ir/Portal/RssPage/ShowRss.aspx?CategoryID=541ac873-3706-4f31-97e7-5cd6d51170eb','BlogList');">news</a></li>我想要这个文字:http://moi.ir/Portal/RssPage/ShowRss.aspx?CategoryID=541ac873-3706-4f31-97e7-5cd6d51170eb解决方法...
我为名称验证创建了一个正则表达式,其中仅“ _”,“-”,“‘”,“. ”允许. 这是正则表达式:^[a-zA-Z][a-zA-Z0-9\.\-_']{1,24}$问题是它的允许名称带有@,检查Fiddle demo:var str = "deepak@"; var str2 = "@@"; alert(str.match("^[a-zA-Z][a-zA-Z0-9\.\-_]{1,24}$"));//allowing why? alert(str2.match("^[a-zA-Z][a-zA-Z0-9\.\-_]{1,24}$"));//not allowing预期值:名称中不得包含@. 注意:当我在https://regex101.com/#javas...
我想用0代替@到下面是我的弦 我尝试它仅适用于2对,但不适用于3对 示例01: 输入数据@8~C + @9~C输出量0 + 0示例02: 输入数据@11~C + @12~P1 - @13~F输出量0+0+0下面是我的代码var tempRes = "@11~Co + @12~P1o - @13~Fo"; tempRes = tempRes.replace(/@[0-9]~[A-Z]o/i,parseFloat(0));解决方法:你可以做:var s = '@11~Co + @12~P1o + @13~Fo' var r = s.replace(/@[^o]+o/g, 0); //=> 0 + 0 + 0编辑:也要删除空格var r = s.repl...
我正在尝试生成与以下序列匹配的正则表达式- 91123456789、41123456789、21123456789 ….等,电话号码没有限制. 基本上,用法是验证用户可以添加的电话号码,电话号码可以是多个,并且需要用逗号分隔,我已经删除了用户可以添加的空白处,因此不必为此担心. 我对regex不满意,并创建了以下regex,但它与前面的电话号码不匹配,这意味着整个电话号码字符串都不匹配-^\+?\d{1,4}?[-.\s]?\(?\d{1,3}?\)?[-.\s]?\d{1,4}[-.\s]?\d{1,4}[-.\s]?\d...
给定以下字符串:FFSMQWUNUPZRJMTHACFELGHDZEJWFDWVPYOZEVEJKQWHQAHOCIYWGVLPSHFESCGEUCJGYLGDWPIWIDWZZXRUFXERABQJOXZALQOCSAYBRHXQQGUDADYSORTYZQPWGMBLNAQOFODSNXSZFURUNPMZGHTA我正在尝试将包含CABDA的每个子字符串与以下正则表达式进行匹配:C.*?A.*?B.*?D.*?A我唯一发现的是CFELGHDZEJWFDWVPYOZEVEJKQWHQAHOCIYWGVLPSHFESCGEUCJGYLGDWPIWIDWZZXRUFXERABQJOXZALQOCSAYBRHXQQGUDA本身并没有错-但我应该找到CSAYBRHXQQGUDA 我想...
您能帮我写一个纯正则表达式来查找第一个不重复在字符串中的字母吗?我以为我可能需要使用否定的lookahead和否定的lookbehind,但是我不认为javascript支持lookbehind. 例如'NUNUMUNN' // expected output 'M' 'LOMING' // expected output 'L'我认为可以使用一般的字符串操作来做到这一点,但我的偏爱实际上是纯正则表达式. 我的出发点目前是这样的:/(a-zA-Z).*?(?!\1)/.match('thestring');但这是行不通的.解决方...
我试图构造一个JavaScript友好的正则表达式,以匹配以某个单词组(A)开头的任何字符串,如果字符串中包含其他单词,则它们必须在一组单词(B)内,或者不在一个单词组(B)之内.组词(C). 因此,给出以下单词组(A),(B)和(C):(A) Test, Sample (B) Good, Stuff (C) Hello, World并给出以下示例字符串,这些字符串以(A)中的任何单词开头:Test Test Good Sample Stuff Test Hello Sample World Test Hello Stuff Sample Good World Test Oth...
我正在构建一种称为公式生成器的工具.这个想法是,用户必须在textarea中键入公式的文本,然后我们才能解析字符串值.结果是数组. 例如,此文本将被解析LADV-(GCNBIZ+UNIN)+(TNW*-1)然后在下面生成结果["LADV", "-", "(", "GCNBIZ", "+", "UNIN", ")", "+", "(", "TNW", "*", "-1", ")"]关键是用这个字符之一分割每个单词:,*,/,-,(和this);但仍包括分离器本身. 我试图使用此表达式/ [-* /()] / g进行拆分,但结果不包含拆分符.并且还需...
理念: 如果要用大括号键入字符串中的单词(例如“ Lorem {Ipsum} Sit Dolor”),我想突出显示它们.如果它们匹配,则应应用font-weight:bold. 到目前为止的方法:var final = []; var regExp = /([^{]*?)(?=\})/; var string = document.getElementById("myParagraph").innerHTML; wordArray = string.split(/\s+/);for (var i = 0; i < wordArray.length; i++) {if (regExp.exec(wordArray[i])) {final.push(wordArray[i]);} } cons...
要在控制台中检索全局String Object实例的文字对象形式,我们只需执行以下操作:var myString = new String("Hello Stackoverflow!"); console.log(myString); /* console outputs: String {0: "H", 1: "e", 2: "l",..., 18: "w", 19: "!", length: 20, [[PrimitiveValue]]: "Hello Stackoverflow!"} */但是,当创建一个全局RegExp对象的正则表达式实例并尝试获取对象文字形式时,它将无法正常工作,并且控制台将仅输出正则表达式模式...
我有一个正则表达式要求与特定字符串后的字符串不匹配,假设我有以下字符串4515856581128483548598852649285965451533568536158523在上面的字符串中,我必须将所有5替换为0,除了紧接在8之后的5之外,如下所示:4010856081128483048598852649285960401033068536108523我已经尝试过,如下所示:"4515856581128483548598852649285965451533568536158523".replace(/5(?!8)/g,'0') "4015806581128483048098802649280960401033068036158023"它...
我正在尝试创建一个允许Todo.txt格式的模式,该模式非常非常简单,但是当Codemirror匹配结果时出现奇怪的regex行为. 基本上,我试图标记所有以空格字符开头的“ x”开头的行,并且仅在行的开头具有此条件,但是正则表达式在行的中间拾取字符串. 尝试其他JavaScript regex工具时,我的正则表达式与该条件不匹配:https://regex101.com/r/kUXTqf/1 这是来自简单模式定义的正则表达式行:{regex: /^(x ).*$/, token: "task-completed"} 和我...