Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 20.03.2021, 17:18
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от voraa
Ну если как \s обозначить только пробел
Вместо этого можно указать явно пробельный символ в 16-тиричном счислении или utf-8...
Ответить с цитированием
  #12 (permalink)  
Старый 20.03.2021, 17:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

voraa,
проверь

str = str.replace(/^\s+?(?=\t+\s+?\S)/mig, '')
Ответить с цитированием
  #13 (permalink)  
Старый 20.03.2021, 17:51
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,709

рони,
не. Совсем не работает

const r = /^\s+?(?=\t+\s+?\S)/mig
console.log([...'\n\t \n\t\t Журнал'.replace(r, '')])
console.log([...' \t \t\tЖурнал'.replace(r, '')])

Первый вывод дает
[" ", " ", "Ж", "у", "р", "н", "а", "л"]
А должен перед Ж оставить \t\t и пробел
Второй вывод дает
[" ", " ", " ", " ", "Ж", "у", "р", "н", "а", "л"]
А должен перед Ж оставить \t\t
Ответить с цитированием
  #14 (permalink)  
Старый 20.03.2021, 18:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

voraa,
console.log("\n\t \n\t\t Журнал".replace(/^\s*?(?=\t+\s?\S)/mig, '').replace(/\t/mig, 'T'))
console.log(" \t \t\tЖурнал".replace(/^\s*?(?=\t+\s?\S)/mig, '').replace(/\t/mig, 'T'))
console.log("\t\tЖурнал".replace(/^\s*?(?=\t+\s?\S)/mig, '').replace(/\t/mig, 'T'))
const r = /^\s*?(?=\t+\s?\S)/mig
console.log([...'\n\t \n\t\t Журнал'.replace(r, '')])
console.log([...' \t \t\tЖурнал'.replace(r, '')])
Ответить с цитированием
  #15 (permalink)  
Старый 20.03.2021, 18:30
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,709

<body>
<pre>
<script>
const rs = /^\s+?(?=\t+\s+?\S)/mig
let s2 = '\n\t \n\t\t Журнал' 
document.writeln(s2.replace(rs, '').replace(/\t/g, 'T').replace(/\s/g, 'S'))
let s3 = '\n\t\n\t\tЖурнал' 
document.writeln(s3.replace(rs, '').replace(/\t/g, 'T').replace(/\s/g, 'S'))
let s4 = ' \t \t\tЖурнал' 
document.writeln(s4.replace(rs, '').replace(/\t/g, 'T').replace(/\s/g, 'S'))
</script>
</pre>
</body>


У меня выводит
TSЖурнал
TTЖурнал
TSTTЖурнал

https://drive.google.com/file/d/19ta...F8GPwmNLC/view
Бред какой то.

Последний раз редактировалось voraa, 20.03.2021 в 18:41.
Ответить с цитированием
  #16 (permalink)  
Старый 20.03.2021, 18:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

voraa,
#14
TTSЖурнал
TTЖурнал
TTЖурнал
Ответить с цитированием
  #17 (permalink)  
Старый 20.03.2021, 18:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

voraa,
<pre>
<script>
const rs = /^\s*?(?=\t+[ ]*\S)/mig;
let s2 = '\n\t \n\t\t      Журнал'
document.writeln(s2.replace(rs, '').replace(/\t/g, 'T').replace(/\s/g, 'S'))
let s3 = '\n\t\n\t\tЖурнал'
document.writeln(s3.replace(rs, '').replace(/\t/g, 'T').replace(/\s/g, 'S'))
let s4 = ' \t \t\tЖурнал'
document.writeln(s4.replace(rs, '').replace(/\t/g, 'T').replace(/\s/g, 'S'))
</script>
</pre>
Ответить с цитированием
  #18 (permalink)  
Старый 20.03.2021, 18:56
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,709

Вот я и говорю, что бред.
Пост 14.
Что в форумском варианте, что локально делаю, все равно

TSЖурнал
TTЖурнал
TSTTЖурнал

Хоть в запой уходи.

Не заметил сразу, что исправлено на [ ].
Так вроде работает!
Но еще попроверяю.

Последний раз редактировалось voraa, 20.03.2021 в 19:07.
Ответить с цитированием
  #19 (permalink)  
Старый 20.03.2021, 19:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

voraa,
#17 скопируй строку 3, может поможет? )))
Ответить с цитированием
  #20 (permalink)  
Старый 20.03.2021, 19:19
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,709

рони,
Предыдущие примеры сработали
Дальше опять неудача
Сообщение от voraa
<начало> - последовательность из пробелов, \n, \t (необязат. часть)
<табуляции> - последовательность только из \t (необязат. часть)
Ну нуб я в регулярках
<pre>
<script>
const rs = /^\s+?(?=\t+[ ]*?\S)/mig

let s5 = ' \t \n Журнал' 
document.writeln(s5.replace(rs, '').replace(/\t/g, 'T').replace(/\s/g, 'S'))
let s6 = '\t\tЖурнал' 
document.writeln(s6.replace(rs, '').replace(/\t/g, 'T').replace(/\s/g, 'S'))
</script>
</pre>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с регуляркой bms.java Общие вопросы Javascript 5 08.06.2017 12:06
помогите с регуляркой, пожалуйста lvovitch Общие вопросы Javascript 3 11.11.2015 08:24
Помогите разобраться с регуляркой shtormIK Общие вопросы Javascript 6 26.06.2012 20:02
Помогите нубу Fongolcs Работа 34 19.05.2010 22:45