2012-03-16 1 views
0

Какое правильное регулярное выражение для получения строки, содержащей только буквы, должно начинаться с букв и непрерывной строки букв. Но может закончиться буквой ИЛИ пробелом (просто пробел, а не вкладки или возврат).regex - поиск шаблона, который начинается с алфавитов и заканчивается алфавитами или пробелом

У меня есть эта модель /^\S*[a-zA-Z]\s*$/

Является ли это правильно? мне нужен \S* с самого начала и как я могу гарантировать, что между буквами нет пробелов?

ТИА

ответ

4

, если оно должно начинаться с буквы, содержать только буквы (без пробелов), и может закончиться с одного пространства я думаю, что это должно быть

^[a-zA-Z]+ ?$ 
+0

Спасибо jambriz, это тоже работает. Моя проблема теперь заключается в том, чтобы выяснить, какое решение наиболее оптимально для получения примерно 90K матчей из массива 200K. – Jamex

2

/^[a-zA-Z]+[a-zA-Z ]$/

Нет необходимости \S*

И вы можете проверить его в Интернете. Есть такие сайты, как http://www.solmetra.com/scripts/regex/, чтобы проверить регулярное выражение.

+0

Этот сайт выглядит довольно хорошо. Попробуйте http://gskinner.com/RegExr/. Это мое оружие регулярного выражения :). Мне очень нравится обновление в реальном времени и опция замены. – kentcdodds

+0

Спасибо RNAer, что сайт тестирования выглядит хорошо. Это на самом деле интуитивно, и я могу проверить свою строку а, увидеть результаты. Кроме того, я изменил ваше регулярное выражение, чтобы вынуть «пространство», которое появляется после знака +. Этот мод работает для моих целей./^ [a-zA-Z] + [a-zA-Z] $/ – Jamex

+0

@Jamex: Да. Это пространство - опечатка. Его следует удалить. Извините – RNA

2

^[a-zA-Z]+?[a-zA-Z ]$

Это предполагает современный регулярный процессор экспрессии, который позволяет для нежадного (+?) повторяется.

+1

Спасибо, Ланс, это работает для моей цели. Но для моей цели он также может работать без «?» отметка.^[a-zA-Z] + [a-zA-Z] $ – Jamex

1

Чтобы быть юникода совместимы:

^\pL ?$ 
+0

Спасибо M42 за ваше время, я уверен, что это действительно полезно, если я знаю, к какому контексту применить его. – Jamex

Смежные вопросы