Показать сообщение отдельно
  #1 (permalink)  
Старый 03.12.2015, 13:08
Аспирант
Отправить личное сообщение для FoxTrix Посмотреть профиль Найти все сообщения от FoxTrix
 
Регистрация: 27.07.2012
Сообщений: 73

Регулярное выражение
Добрый день.
Возникла проблема при написании регулярного выражения.

Регулярное выражение должно находить квадратные скобки в строке, если внутри них есть любое кол-во любых символов, кроме букв.

С этим проблем не возникло, получилось следующее выражение
/^(\[(?:[^A-Za-z]+)?\])/g.test('[test]%#$%^') // false


Но потребовалось, чтобы оно так же возвращало false, если внутри скобок находится 4 или больше точки
reg.text('[...]#$%%') // true
reg.text('[...#]#$%%') // true
reg.text('[....]#$%%') // false


попробовал что-то такого вида
^(\[((?:[^A-Za-z]+)|(?!([\.]{4,})))?\])

(в более читаемом виде)

^(\[
	(
		(?:[^A-Za-z]+) | (?!([\.]{4,}))
	)?
\])

но оно не даёт нужного результата.

Помогите модифицировать чтобы подходило по требованиям.
Заранее спасибо.
Ответить с цитированием