将正则表达式从 Java 编辑为 JavaScript
Edit Regular Expression from Java to JavaScript
你好,我有一个 RegEx 问题,我在 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 中那样拆分输入字符串,因为 java 脚本不支持后向断言。
这将适用于这个特定案例。
> 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>' ]
你好,我有一个 RegEx 问题,我在 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 中那样拆分输入字符串,因为 java 脚本不支持后向断言。
这将适用于这个特定案例。
> 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>' ]