gpt4 book ai didi

regex - Dart说Regexp的量词无效,但可以在JavaScript中使用-有错误吗?

转载 作者:行者123 更新时间:2023-12-03 02:53:53 25 4
gpt4 key购买 nike

我有一个RegExp:

color:\s*+(?!(?:transparent|inherit)(?:;|$))[^@;][^;]*;?

显然可以在regex1010.com上工作 http://regex101.com/r/aU1nR4/5

但是,如果将此表达式带到Dart,例如,粘贴以下代码,则:
void main() {
new RegExp(r"color:\s*+(?!(?:transparent|inherit)(?:;|$))[^@;][^;]*;?");
}

http://try.dartlang.org/中,您将获得:
InternalError: uncaught exception: FormatException: Illegal RegExp pattern: color:\s*+(?!(?:transparent|inherit)(?:;|$))[^@;][^;]*;?, SyntaxError: invalid quantifier
$.wrapException@blob:98037409-a6ed-4af3-b17a-97b022530853:218:5
$.throwExpression@blob:98037409-a6ed-4af3-b17a-97b022530853:223:3
$.JSSyntaxRegExp_makeNative@blob:98037409-a6ed-4af3-b17a-97b022530853:411:3
$.JSSyntaxRegExp$@blob:98037409-a6ed-4af3-b17a-97b022530853:399:3
$.main@blob:98037409-a6ed-4af3-b17a-97b022530853:148:3
@blob:98037409-a6ed-4af3-b17a-97b022530853:515:5
@blob:0dee36e0-efe3-40e2-93f5-4fac9fc4fec3:1:61

我的RegExp出了点问题,或者也许是Dart错误?

最佳答案

您可以尝试使用以下正则表达式代替自己的正则表达式,

^color:(?!@|transparent|inherit| @| transparent| inherit).*;$

DEMO

关于regex - Dart说Regexp的量词无效,但可以在JavaScript中使用-有错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24952726/

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