如何用正则表达式提取文本中的数字列表项到数组中?
提取数字列表项到数组的正则解决方案
正则表达式
使用正向预查结合非贪婪匹配的正则,精准捕获每个列表项:
/\d+\.\s+(.*?)(?=\s+\d+\.|$)/g
正则解析
\d+\.:匹配列表项开头的数字(1个或多个)加句号\s+:匹配数字句号后的空格(.*?):非贪婪模式捕获列表项核心内容,避免过度匹配到后续项(?=\s+\d+\.|$):正向预查终止条件,匹配到下一个数字列表项的开头(空格+数字+句号)或者文本结尾,确保每个捕获范围仅对应单个列表项
示例代码(JavaScript)
const text = "Bien sûr, voici trois idées d'articles qui pourraient être intéressants pour votre site : 1. Les impacts des deepfakes sur la société : une étude sur les conséquences de la manipulation des images et des vidéos dans l'ère numérique. 2. Comment l'IA peut être utilisée pour détecter les fake news sur les réseaux sociaux : une exploration des outils qui utilisent l'apprentissage automatique pour identifier et signaler les fausses informations. 3. Une analyse des tendances de la cybersécurité en 2021 : une vue d'ensemble des menaces les plus importantes pour les entreprises et les particuliers, ainsi que des solutions possibles pour s'en protéger."; const regex = /\d+\.\s+(.*?)(?=\s+\d+\.|$)/g; // 提取所有匹配项并整理为数组 const resultArray = [...text.matchAll(regex)].map(item => item[1]); console.log(resultArray);
运行结果
输出的数组与期望完全一致:
[ "Les impacts des deepfakes sur la société : une étude sur les conséquences de la manipulation des images et des vidéos dans l'ère numérique.", "Comment l'IA peut être utilisée pour détecter les fake news sur les réseaux sociaux : une exploration des outils qui utilisent l'apprentissage automatique pour identifier et signaler les fausses informations.", "Une analyse des tendances de la cybersécurité en 2021 : une vue d'ensemble des menaces les plus importantes pour les entreprises et les particuliers, ainsi que des solutions possibles pour s'en protéger." ]
内容的提问来源于stack exchange,提问作者zeke angel
相关产品推荐
相关产品推荐

