Node.js 中正则表达式无法匹配文本的问题
有一个正则:
^ description(?s).*?(?=^ name:\n)
我使用的escape函数:
RegExp.escape= function(s) {
return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
};
在程序中,将其escape成如下形式:
/\^ description\(\?s\)\.\*\?\(\?=\^ name:\\n\)/g
我要匹配的文本如下:
365230:
basePrice: 2415.0
description:
de: Ultraleichte Legierung, die die maximale Stärke der Dropsuitpanzerung
steigert, ohne dabei die Bewegungsgeschwindigkeit einzuschränken.
en: Ultra-light alloy that increases the maximum strength of dropsuit armor
without affecting movement speed.
es: Una aleación ultraligera aumenta la fuerza máxima del blindaje de los
trajes de salto sin afectar a su velocidad de movimiento.
fr: Alliage ultra-léger qui augmente la force maximale de l'armure de la combinaison
sans affecter la vitesse de déplacement.
it: Lega leggerissima che aumenta la solidità massima della corazza dell'armatura
senza penalizzare la velocità di movimento.
ja: 運動速度に影響を及ぼすことなく降下スーツのアーマーの最大強度を上げる超軽量の合金。
ru: Сверхлегкий сплав, который увеличивает максимальную прочность брони скафандров
без ущерба скорости передвижения.
groupID: 351121
marketGroupID: 365245
name:
de: Verbesserte Ferroscale-Platten
en: Enhanced Ferroscale Plates
es: Placas de ferroescamas mejoradas
fr: Plaques Ferroscale optimisées
it: Lamiere Ferroscale perfezionate
ja: 強化型ファロースケールプレート
ru: Улучшенные пластины 'Ferroscale'
portionSize: 1
published: true
volume: 0.01
目标是将以下内容从文本中去掉:
description:
de: Ultraleichte Legierung, die die maximale Stärke der Dropsuitpanzerung
steigert, ohne dabei die Bewegungsgeschwindigkeit einzuschränken.
en: Ultra-light alloy that increases the maximum strength of dropsuit armor
without affecting movement speed.
es: Una aleación ultraligera aumenta la fuerza máxima del blindaje de los
trajes de salto sin afectar a su velocidad de movimiento.
fr: Alliage ultra-léger qui augmente la force maximale de l'armure de la combinaison
sans affecter la vitesse de déplacement.
it: Lega leggerissima che aumenta la solidità massima della corazza dell'armatura
senza penalizzare la velocità di movimento.
ja: 運動速度に影響を及ぼすことなく降下スーツのアーマーの最大強度を上げる超軽量の合金。
ru: Сверхлегкий сплав, который увеличивает максимальную прочность брони скафандров
без ущерба скорости передвижения.
groupID: 351121
marketGroupID: 365245
最终效果如下:
365230:
basePrice: 2415.0
name:
de: Verbesserte Ferroscale-Platten
en: Enhanced Ferroscale Plates
es: Placas de ferroescamas mejoradas
fr: Plaques Ferroscale optimisées
it: Lamiere Ferroscale perfezionate
ja: 強化型ファロースケールプレート
ru: Улучшенные пластины 'Ferroscale'
portionSize: 1
published: true
volume: 0.01
在程序中检验正则是否匹配:
re1.test(data);
返回false
是哪里出现了问题?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你的正则没有匹配到目标文本
随便写个吧