编辑从 Java 到 JavaScript 的正则表达式

Edit Regular Expression from Java to JavaScript

本文关键字:正则表达式 JavaScript Java 编辑      更新时间:2023-09-26

嗨,我对正则表达式有问题,我在 Java 中有我的表达式用于将输入拆分为数组,但此表达式在 JavaScript 中不起作用:

(?<=</d[12]>)''d*(?=<d[12]>)

我有一些对话

<d1>bla bla bla</d1><d2>bla bla bla</d2><d1>bla bla bla</d1>

我想输出拆分为数组[<d1>bla bla bla</d1>,<d2>bla bla bla</d2>,<d1>bla bla bla</d1>]

你能帮我如何编辑这个表达式吗?谢谢。

你不能像在java中那样拆分输入字符串,因为javascript不支持后瞻断言。

这将适用于这种特定情况。

> var s = "<d1>bla bla bla</d1><d2>bla bla bla</d2><d1>bla bla bla</d1>"
undefined
> s.match(/(?!'d+).*?<'/d[12]>(?='d*<d[12]>|$)/g)
[ '<d1>bla bla bla</d1>',
  '<d2>bla bla bla</d2>',
  '<d1>bla bla bla</d1>' ]