Мені потрібно визначити, чи містить рядок два або більше послідовних альфа-символів. Два або більше [a-zA-Z]поруч. Приклад:
"ab" -> valid
"a1" -> invalid
"a b" -> invalid
"a"-> invalid
"a ab" -> valid
"11" -> invalid
Відповіді:
[a-zA-Z] {2,} не працює для двох або більше однакових послідовних символів. Для цього слід захопити будь-який символ, а потім повторити захоплення таким чином:
(.) \ 1
Дужка фіксує. який представляє будь-який символ, а \ 1 є результатом захоплення - в основному шукаємо послідовне повторення цього символу. Якщо ви хочете конкретизувати, які символи, які ви хочете знайти, однакові послідовні, просто замініть "будь-який символ" класом символів ...
([a-zA-Z]) \ 1
Знаходить послідовні повторювані малі або великі літери. Збіги на "abbc123", а не "abc1223". Щоб передбачити пробіл між ними (тобто ab), тоді включіть необов’язковий пробіл у регулярний вираз між захопленим символом та повтором ...
([az] AZ]) \ s? \ 1
Я майже впевнений, що ви можете просто використовувати [Az] замість [a-zA-Z], щоб отримувати маленькі та великі альфа-символи http://www.w3schools.com/jsref/jsref_obj_regexp.asp
[A-z]відповідає більше, ніж буквам. Зокрема, він також відповідає квадратним дужкам, зворотним скісним рискам, символам вставки, підкресленням та зворотним позначкам.
Zі aтому (помилково) будуть включені в такий шаблон. Я повторюю рекомендацію: Не використовуйте w3schools! У ньому є багато делікатно поганої інформації, подібної цій.
[65-90]буде відповідати 5- 9(що також включає 6) та 0!
{2}без коми також повинно працювати, так?