Skip to content

JavaScript 引擎兼容性

所有内置语法与 正则表达式引擎 的兼容性参考资料。

生成于 2024年10月28日,星期一

版本 1.22.2

运行时: Node.js v20.18.0

报告摘要

计数
总语言数214
支持的语言176
匹配不一致的语言23
不支持的语言15

支持的语言

以下是与 JavaScript RegExp 引擎兼容的语言,并且会产生与 WASM 引擎相同的结果(使用 注册表中的示例片段)。 在某些边缘情况下,高亮显示可能不会完全相同。如果发生这种情况,请创建一个带有示例片段的问题。

语言高亮匹配可解析模式数解析失败模式数差异
abap✅ OK51-
actionscript-3✅ OK57-
angular-ts✅ OK779-
apache✅ OK60-
apl✅ OK917-
applescript✅ OK152-
ara✅ OK54-
asciidoc✅ OK262-
asm✅ OK297-
astro✅ OK613-
awk✅ OK36-
ballerina✅ OK230-
bat✅ OK58-
berry✅ OK18-
bibtex✅ OK19-
bicep✅ OK27-
cadence✅ OK71-
clarity✅ OK43-
clj✅ OK38-
clojure✅ OK38-
cmake✅ OK23-
cobol✅ OK864-
codeowners✅ OK4-
codeql✅ OK151-
coffee✅ OK469-
common-lisp✅ OK60-
coq✅ OK25-
css✅ OK141-
csv✅ OK1-
cue✅ OK85-
cypher✅ OK39-
d✅ OK270-
dart✅ OK72-
dax✅ OK23-
desktop✅ OK16-
diff✅ OK16-
docker✅ OK7-
dotenv✅ OK9-
dream-maker✅ OK56-
edge✅ OK632-
elm✅ OK244-
emacs-lisp✅ OK153-
erb✅ OK1312-
fennel✅ OK31-
fish✅ OK25-
fluent✅ OK23-
fortran-fixed-form✅ OK332-
fortran-free-form✅ OK328-
fsharp✅ OK239-
fsl✅ OK30-
gdresource✅ OK157-
gdscript✅ OK93-
gdshader✅ OK39-
genie✅ OK20-
gherkin✅ OK19-
gleam✅ OK26-
glimmer-js✅ OK676-
glimmer-ts✅ OK676-
gnuplot✅ OK82-
go✅ OK123-
graphql✅ OK448-
groovy✅ OK133-
hack✅ OK948-
haml✅ OK562-
handlebars✅ OK699-
haxe✅ OK174-
hcl✅ OK67-
hjson✅ OK57-
hlsl✅ OK52-
html✅ OK611-
http✅ OK753-
hxml✅ OK182-
hy✅ OK12-
imba✅ OK516-
ini✅ OK11-
java✅ OK142-
javascript✅ OK376-
jinja✅ OK642-
jison✅ OK421-
json✅ OK19-
json5✅ OK23-
jsonc✅ OK19-
jsonl✅ OK19-
jsonnet✅ OK33-
jssm✅ OK30-
jsx✅ OK376-
lean✅ OK32-
less✅ OK280-
liquid✅ OK684-
log✅ OK30-
logo✅ OK9-
lua✅ OK278-
luau✅ OK88-
make✅ OK51-
marko✅ OK926-
matlab✅ OK88-
mdc✅ OK784-
mipsasm✅ OK17-
mojo✅ OK213-
move✅ OK120-
narrat✅ OK34-
nextflow✅ OK17-
nim✅ OK1126-
nix✅ OK80-
nushell✅ OK81-
objective-c✅ OK223-
ocaml✅ OK178-
pascal✅ OK23-
perl✅ OK941-
plsql✅ OK45-
postcss✅ OK49-
powerquery✅ OK30-
prisma✅ OK26-
prolog✅ OK26-
proto✅ OK33-
puppet✅ OK61-
python✅ OK218-
qml✅ OK408-
qmldir✅ OK7-
qss✅ OK31-
r✅ OK71-
racket✅ OK69-
raku✅ OK52-
reg✅ OK9-
regexp✅ OK34-
rel✅ OK17-
riscv✅ OK36-
rust✅ OK89-
sas✅ OK101-
sass✅ OK69-
scala✅ OK117-
scheme✅ OK34-
scss✅ OK234-
shaderlab✅ OK87-
shellsession✅ OK150-
solidity✅ OK102-
soy✅ OK649-
sparql✅ OK19-
sql✅ OK67-
ssh-config✅ OK12-
stylus✅ OK107-
svelte✅ OK636-
system-verilog✅ OK102-
systemd✅ OK32-
tasl✅ OK23-
tcl✅ OK34-
templ✅ OK673-
terraform✅ OK68-
tex✅ OK106-
toml✅ OK44-
ts-tags✅ OK997-
tsv✅ OK1-
tsx✅ OK376-
turtle✅ OK15-
twig✅ OK1984-
typescript✅ OK363-
typespec✅ OK80-
typst✅ OK78-
v✅ OK80-
vala✅ OK20-
vb✅ OK34-
verilog✅ OK33-
vhdl✅ OK82-
viml✅ OK72-
vue✅ OK692-
vue-html✅ OK716-
vyper✅ OK238-
wasm✅ OK78-
wenyan✅ OK18-
wgsl✅ OK44-
wikitext✅ OK104-
xml✅ OK169-
xsl✅ OK171-
yaml✅ OK48-
zenscript✅ OK21-
zig✅ OK51-
表字段说明
  • 高亮匹配: 高亮结果显示与 WASM 引擎在 示例片段 上的结果是否一致。
  • 可解析模式数: JavaScript RegExp 引擎能够解析的正则表达式模式数。
  • 解析失败模式数: JavaScript RegExp 引擎无法解析的正则表达式模式数(抛出错误)。
  • 差异: 两个引擎高亮结果显示的不同字符长度。

匹配不一致的语言

以下这些语言在 JavaScript RegExp 引擎中不会抛出错误,但会产生与 WASM 引擎不同的结果。请谨慎使用。

语言高亮匹配可解析模式数解析失败模式数差异
angular-html🚧 匹配不一致670-330
bash🚧 匹配不一致148-56
beancount🚧 匹配不一致39-171
c🚧 匹配不一致177-209
crystal🚧 匹配不一致1067-40
elixir🚧 匹配不一致708-179
erlang🚧 匹配不一致147-470
glsl🚧 匹配不一致186-306
kusto🚧 匹配不一致60-40
latex🚧 匹配不一致283-25
markdown🚧 匹配不一致118-78
mermaid🚧 匹配不一致129-38
nginx🚧 匹配不一致378-4
objective-cpp🚧 匹配不一致309-172
php🚧 匹配不一致1131-605
po🚧 匹配不一致23-336
pug🚧 匹配不一致686-164
ruby🚧 匹配不一致1307-1
shellscript🚧 匹配不一致148-56
smalltalk🚧 匹配不一致35-40
splunk🚧 匹配不一致17-8
stata🚧 匹配不一致253-32
zsh🚧 匹配不一致148-117

不支持的语言

以下这些语言在 JavaScript RegExp 引擎中会抛出错误(包含我们暂时无法多态处理(polyfill)的语法)。如果需要使用这些语言,请使用 Oniguruma 引擎。

语言高亮匹配可解析模式数解析失败模式数差异
ada✅ OK2011
blade🚧 匹配不一致11242
rst🚧 匹配不一致18352262
powershell❌ 错误871
wolfram❌ 错误500112
mdx❌ 错误1934
swift❌ 错误325418
kotlin❌ 错误5262986
purescript❌ 错误6761488
apex❌ 错误17314242
haskell❌ 错误1362112
cpp❌ 错误4902225
julia❌ 错误11412749
csharp❌ 错误27633232
razor❌ 错误9223526

以 MIT 许可证发布