gpt4 book ai didi

Javascript 正则表达式非贪婪搜索引号

转载 作者:行者123 更新时间:2023-11-30 16:27:26 25 4
gpt4 key购买 nike

我有以下文字:

<a href="{{'Čeština' | l10n}}" ng-click="setLocale('cs_CZ')">{{field.text || 'Čeština' | l10n}}</a>

正则表达式: /((?!l10n))*?(['"])(.*?)\2[\s]*?\|[\s]*?l10n/g

我正在尝试替换 l10n 之前的字符串修改后的字符串。我的正则表达式工作正常,除了这种情况,它吃 '来自 setLocale功能。

这是带有我的表达式的交互式正则表达式测试器 - https://regex101.com/r/vX5tJ6/3

问题是,它为什么要吃掉 '当没有 | 时从 setLocale 开始在(如正则表达式中指定的)之后?

最佳答案

也许这就是您正在寻找的:

(['"])([^'"]*)\1\s*\|\s*l10n

https://regex101.com/r/lV8wV7/1

它会查找单引号或双引号后跟 | 的任何内容l10n 带可选空格。

您的正则表达式匹配单引号或双引号,后跟任何字符,非贪婪,然后是另一个匹配的引号。然而,它能够在不违反模式其余部分的情况下,非贪婪地匹配封闭的引号(因此不仅仅是它遇到的最后一个令人满意的引号)。

上述模式的主要区别在于它不允许包含引号。

如果需要允许双引号用单引号括起来或者单引号用双引号括起来,可以试试下面的方法:

(?:(')([^']*)'|(")([^"]*)")\s*\|\s*l10n

https://regex101.com/r/mL8gA6/1

关于Javascript 正则表达式非贪婪搜索引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33897448/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com