无堆栈”,原因:“未处理的JS异常:无效的正则表达式:无效的组说明符名称

时间:2019-07-11 13:49:55

标签: react-native

我的应用程序将无法启动,但会因以下情况而中断:

Invalid regular expression: invalid group specifier name

no stack
run
    NativeRunnable.java
handleCallback
    Handler.java:873
dispatchMessage
    Handler.java:99
dispatchMessage
    MessageQueueThreadHandler.java:29
loop
    Looper.java:209
run
    MessageQueueThreadImpl.java:232
run
    Thread.java:914

我发现在iOS或android中,如果启用了实时JavaScript调试,则不会发生此问题,但是为什么?

我在xcode和android上遇到的相同错误:

no stack', reason: 'Unhandled JS Exception: Invalid regular expression: invalid group specifier name

我不知道在哪里挖?还是在哪里调试? 有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

也将其射入,将电子投射移至RN。将其跟踪到正则表达式背后,Chrome支持该正则表达式,但Safari不支持(显然,本机响应)-请参见Works in Chrome, but breaks in Safari: Invalid regular expression: invalid group specifier name /(?<=\/)([^#]+)(?=#*)/

在我的项目中搜索(?导致我成为罪魁祸首!

答案 1 :(得分:0)

之所以没有出现此错误的原因是因为在执行脚本之前会编译JavaScript中的正则表达式文字。

  

正则表达式文字可在加载脚本时提供正则表达式的编译。

     

MDN - Regular Expressions

不幸的是,这意味着有问题的正则表达式可能在代码中的任何位置,因为所有ES2015模块都捆绑在反应本机应用程序中。