草庐IT

版本不匹配

全部标签

javascript - 正则表达式仅捕获匹配中捕获组的最后一个实例

我在两种不同的语言(JavaScript和Flash)中使用以下正则表达式产生相同的奇怪结果。我想知道的不是如何修复它,而是为什么会出现这种行为?正则表达式:\[(\\{2}|\\\]|[^\]])*\]这里的目标是匹配括号内的字符串,并确保我不会在转义的括号处停止。如果我有文本输入[abcdefg]它是正确匹配的,但作为捕获组的一部分返回的唯一内容是g,正如我所期望的那样abcdefg。如果我将表达式更改为\[((?:\\{2}|\\\]|[^\]])*)\],然后我得到我想要的结果。那么为什么会这样呢?这在其他语言中是否一致?注意:将表达式简化为\[([^\]])*\]会产生同样的

javascript - 如何只选择匹配中的特定部分?

我有以下字符串。/v/dkdkd-akdoa?我想替换dkdkd-akdoa。我的替换方法看起来像string.replace("v\/(.+)\?","replace")但它也取代了v/。如何仅替换dkdkd-akdoa? 最佳答案 试试下面的代码:>'/v/dkdkd-akdoa?'.replace(/(v\/).+\?/,'$1replace')"/v/replace"如果你想保留?:>'/v/dkdkd-akdoa?'.replace(/(v\/).+(?=\?)/,'$1replace')"/v/replace?"$1引用

javascript - 正则表达式:匹配直到第一次出现

我正在尝试匹配,直到第一次出现&为止。现在它只匹配最后一次出现的&。我的正则表达式是(?!^)(http[^\\]+)\&我正在尝试匹配此文本:https://www.google.com/url?rct3Dj&sa3Dt&url3Dhttp://business.itbusinessnet.com/article/WorldStage-Supports-Massive-4K-Video-Mapping-at-Adobe-MAX-with-Christie-Boxer-4K-Projectors---4820052&ct3Dga&cd3DCAEYACoTOTEwNTAyMzI0OTky

javascript - 通过 RequireJS 加载 PopperJS 和 Bootstrap 的问题,即使在使用推荐的 PopperJS 版本之后

我正在尝试通过requirejs加载jquery、popperjs和bootstrap(v4-beta),并且在控制台中我不断收到:UncaughtError:BootstrapdropdownrequirePopper.js(https://popper.js.org)atbootstrap.js:6atbootstrap.js:6atbootstrap.js:6这是我的主要代码:requirejs.config({paths:{'jquery':'lib/jquery','popper':'lib/popper','bootstrap':'lib/bootstrap'},shim:

javascript - 如何在 ubuntu 中安装特定的 yarn 版本

如何在ubuntu中安装yarn版本0.27.5?因为最新更新的yarn版本是1.2.1。 最佳答案 您可以通过查看https://github.com/yarnpkg/yarn/releases来选择任何版本的yarn并滚动和分页到您需要的版本。对于yarn0.27.5,转到https://github.com/yarnpkg/yarn/releases/tag/v0.27.5你可以看到yarn0.27.5的所有包。下载yarn_0.27.5_all.deb(Ubuntu是基于Debian的Linux)然后您可以使用dpkg安装它

javascript - 如何用另一个对象的匹配键值替换对象键

我有一个对象:{pm:'val1',dm:'val2',cm:'val3'}我想遍历它并检查是否有任何键存在于另一个对象中,如果它们是,则将键替换为来自其他对象的匹配键值。{pm:'价格',dm:'折扣',cm:'成本'}预期的输出是:{价格:'val1',折扣:'val2',成本:'val3' 最佳答案 您可以使用reduce,检查另一个对象中是否存在键,然后将anotherObj中的值添加为最终对象中的键letobj={pm:'val1',dm:'val2',cm:'val3','xy':'val4'}letanotherObj

javascript - 如何查看我的浏览器使用的 javascript 版本?

如何查看我的浏览器使用的javascript版本? 最佳答案 不幸的是,javascript没有“中央”版本控制。每个浏览器的每个版本都使用自己的javascript版本,因此最有意义的讨论方式是说“javascriptasinterpretedbyFirefox3.5”或您的帮助->关于菜单中的任何内容。 关于javascript-如何查看我的浏览器使用的javascript版本?,我们在StackOverflow上找到一个类似的问题: https://st

javascript - 使用 javascript 正则表达式查找第一个和最长的匹配项

我有一个类似于以下简化示例的RegExp:varexp=/he|hell/;当我在一个字符串上运行它时,它会给我第一个匹配项,fx:varstr="helloworld";varmatch=exp.exec(str);//matchcontains["he"];我想要第一个也是最长的匹配,我的意思是按索引排序,然后按长度排序。由于表达式是从一个RegExp数组组合而来的,我正在寻找一种无需重写正则表达式即可找到最长匹配项的方法。这可能吗?如果不是,我正在寻找一种方法来轻松分析表达式,并按正确的顺序排列它。但我无法弄清楚,因为表达式可能会复杂得多,fx:varexp=/h..|hel*/

javascript - 匹配名称的正则表达式

我正在尝试用Javascript编写正则表达式来匹配名称字段,其中唯一允许的值是字母、撇号和连字符。例如,应匹配以下名称:jhon'savat-arJosh有人可以帮我构造这样一个正则表达式吗? 最佳答案 是的。^[a-zA-Z'-]+$在这里,^表示字符串的开始,$表示字符串的结束。[…]是一个字符类,它里面的任何东西都会被匹配。x+表示可以重复一次或多次之前的模式。在字符类中,a-z和A-Z是大小写字母,'是撇号,-是连字符。连字符必须出现在开头或结尾,以避免与a-z中的范围分隔符混淆。请注意,此类不会匹配国际字符,例如一种。您

javascript - 从 Firefox 扩展获取浏览器版本

我已经编写了一个Firefox扩展,目前正在为Firefox4更新它并添加一些新功能。Firefox4有一个很棒的新通知显示,我很想使用它并且找到了大量关于如何使用它的文档。但是,对于少于4个的任何内容,我都创建了我自己的具有特定样式的通知窗口。我的问题是:如何在我的扩展的javascript中检测我是否使用Firefox4。或者,有更好的方法吗? 最佳答案 您可以使用nsIXULAppInfo:varappInfo=Components.classes["@mozilla.org/xre/app-info;1"].getServi