如何将java正则表达式转换为javascript正则表达式

如何将java正则表达式转换为javascript正则表达式,javascript,regex,Javascript,Regex,我想翻译Java正则表达式 (\\\p{Upper}{2})(\\\d{2})([\\\p{Upper}\\\p{Digit}]{1,30}+) 到JavaScript正则表达式。我试过了 ([A-Z]{2})([0-9]{2})([A-Z][0-9]{1,30}+) 这个翻译无法编译。非常感谢您的帮助。您已将最后一个[\\\p{Upper}\\\p{Digit}]分隔为[A-Z][0-9],但应该是[A-Z0-9] 试一下: ([A-Z]{2})([0-9]{2})([A-Z0-9]{1,

我想翻译Java正则表达式

(\\\p{Upper}{2})(\\\d{2})([\\\p{Upper}\\\p{Digit}]{1,30}+)
到JavaScript正则表达式。我试过了

([A-Z]{2})([0-9]{2})([A-Z][0-9]{1,30}+)

这个翻译无法编译。非常感谢您的帮助。

您已将最后一个
[\\\p{Upper}\\\p{Digit}]
分隔为
[A-Z][0-9]
,但应该是
[A-Z0-9]

试一下:

([A-Z]{2})([0-9]{2})([A-Z0-9]{1,30}+)
您还可以将
0-9
替换为
\d
,以便:

([A-Z]{2})(\d{2})([A-Z\d]{1,30}+)

感谢hsz的及时协助。答案没有编译。我必须将“+”从封闭的括号中移出,以使正则表达式格式良好。这个修改会改变这个正则表达式的基础吗?我好像什么也没看到。