我的应用程序将无法启动,但会因以下情况而中断:
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
我不知道在哪里挖?还是在哪里调试? 有人可以帮忙吗?
答案 0 :(得分:1)
也将其射入,将电子投射移至RN。将其跟踪到正则表达式背后,Chrome支持该正则表达式,但Safari不支持(显然,本机响应)-请参见Works in Chrome, but breaks in Safari: Invalid regular expression: invalid group specifier name /(?<=\/)([^#]+)(?=#*)/
在我的项目中搜索(?
导致我成为罪魁祸首!
答案 1 :(得分:0)
之所以没有出现此错误的原因是因为在执行脚本之前会编译JavaScript中的正则表达式文字。
正则表达式文字可在加载脚本时提供正则表达式的编译。
不幸的是,这意味着有问题的正则表达式可能在代码中的任何位置,因为所有ES2015模块都捆绑在反应本机应用程序中。