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
是哪里出现了问题?
粤漫三色堇
9 years, 1 month ago