LINUX.ORG.RU

Js. Помогите составить регулярку.

 , ,


0

1

Всем доброго времени суток. Нужна регулярка для того, чтобы проверить, есть ли в тексте хоть один символ, отличный от <br> и символа пробела \s. Штука типа:

if (my_text.match(/[^<br>|\s]/) {}

не работает.


Можно попробовать lookahead для пропуска, типа такого:

/(((?=<br>)....)|\s)*./


Ты уверен что тебе нужна именно регулярка? Проще заменой выпилить <br> и затримить результат. Пожалей мозг того, кто это будет потом читать.

Vit ★★★★★
()
Последнее исправление: Vit (всего исправлений: 1)

есть ли в тексте хоть один символ, отличный от <br> и символа пробела

:)

тут однозначно должно быть решение типо: «таблица существовала»
upd: вот my_text.replace(/(<br>| )/gim,'').length || console.log('No text');

anTaRes ★★★★
()
Последнее исправление: anTaRes (всего исправлений: 1)

!my_text.match(/^(?:<br>|\s)*$/) не?

Debasher ★★★★★
()

Прошу прощения. Но я упростил код. Теперь задача состоит в следующем. Как проверить есть ли хоть один символ в строке, отличный от пробела и символа перевода?

Sektor
() автор топика
Ответ на: комментарий от Sektor

\S\w* - помогло

что-то не совсем понятно как? В \S входит все что входит в \w вроде бы. Какой смысл этой таинственной конструкции? Как ты ее используешь? Покажи полностью.

А вообще, мне нравится решение anTaRes

www.linux.org.ru/add_comment.jsp?topic=11934809&replyto=11934857

Оно по-моему, прямо в точку (по твоей изначальной задаче). Почему ты не воспользовался им?

newKingOfTheBlock
()
Ответ на: комментарий от Deleted

То есть, если я правильно понял, вот его решение (второй, упрощенной задачи)

re=/[^ \n]/
console.log(
 re.test("                \n\n"),
 re.test("  1               \n\n")
)

//false true

Причем тут \w, я так и не понял:)

newKingOfTheBlock
()
Ответ на: комментарий от newKingOfTheBlock

При подобных задачах обычно любой whitespace и считают за «пробел».

В любом случае, если у Вас желание сделать всё как написано, то не забудьте про

&nbsp;
 . Это уже не такая простая задача для валидации одной регуляркой.

Deleted
()
Последнее исправление: Rainor (всего исправлений: 1)
Ответ на: комментарий от Deleted

Если бы там было написано

отличный от пробела, неразрывного пробела и символа перевода

тогда бы мы о нем вспомнили.

newKingOfTheBlock
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.