/ / Як замінити всі пробіли, крім пробілів у "a b" у RegEx? - javascript, regex

Як замінити всі пробіли, крім пробілів у "a b" у RegEx? - javascript, regex

Як замінити всі пробіли з літери "_", за винятком пробілів між символами "a" та "b", як це "a b".

// this is what I have so far to save someone time (that"s a joke)
var result:String = string.replace(/ /g, "_");

О, це в JavaScript.

Відповіді:

4 для відповіді № 1

Використовуй це:

var result:String = string.replace(/([^a]) | ([^b])/g, "$1_$2");

Спрощене пояснення вищесказаного полягає в тому, що він замінює пробіл, який:

  1. передує інший символ, ніж a
  2. слідує інший персонаж, крім b

Примітка. Щоб узагальнити регулярний вираз, щоб включити вкладки та нові рядки, скористайтеся s, подобається це:

var result:String = string.replace(/([^a])s|s([^b])/g, "$1_$2");

2 для відповіді № 2

Спробуйте цей регулярний вираз:

/(?!a)s(?!b)/g

Редагувати: Це не найкраще рішення, як зазначив Кендал Фрі.