【发布时间】:2021-03-19 02:10:57
【问题描述】:
我在定义正确的正则表达式时遇到问题。
我需要将文本分成组,这样我将有一组位于大括号内的数字/数组,以及一组位于这些大括号之间的文本组/数组。
示例文本:
{3} Lorem ipsum "dolor" sit amet,{2} consectetur adipiscing elit。 {5}Sed semper; sollicitudin diam, "posuere" {3}aliquet massa pulvinar nec.
我想要两个数组:
- [3,2,5,3]
- ["Lorem ipsum "dolor" sit amet,", "consectetur adipiscing elit.", "Sed semper; sollicitudin diam, "posuere", "aliquet massa pulvinar nec."]
几乎我做到了,但是我遇到了文本中的特殊字符的问题(输入文本中禁止使用大括号字符)。 我现在的正则表达式:
\{(.)\}+([\d\w\s]+)
然后它返回:
- [“{3} Lorem ipsum”、“{2} consectetur adipiscing elit”、“{5}Sed semper”、“{3}aliquet massa pulvinar nec”]
我知道稍后我可以在每个数组元素上使用 .split('}') 子字符串等从文本中拆分数字(这不会很好,但它会起作用)。
【问题讨论】:
标签: javascript regex