Чтобы превратить вторую строку в первую, вы можете заменить несколько 2 или более пробельных символов или косую черту на одну.Затем обрежьте строку, чтобы удалить начальный пробел.
let str = " PVER : abc //// def ; 0";
let res = str.trim()
.replace(/\s{2,}/g, ' ')
.replace(/\/{2,}/, '/');
console.log(res);
Вместо изменения входа вы можете обновить регулярное выражение.Этот шаблон [a-z|A-Z|0-9|_]
является классом символов, который будет соответствовать одному из многих перечисленных.Если вы не хотите сопоставлять канал |
, вы можете написать его как \w
.
Во втором примере вы должны найти один или несколько раз пробел (или, возможно, табуляцию), для котороговы можете использовать [ \t]
или \s
, чтобы сопоставить символ пробела, и один или несколько раз использовать косую черту для получения совпадения.
Используя квантификаторы , вы можете обновить свое регулярное выражение до:
^\s*PVER\s*:\s*\w+\s+\/+\s*\w+\s+;\s+0$
Regex demo
[
"PVER : abc / def ; 0",
" PVER : abc //// def ; 0",
"test"
].forEach(s => {
console.log(s + " =>> " + /^\s*PVER\s*:\s*\w+\s+\/+\s*\w+\s+;\s+0$/.test(s));
});