Как использовать регулярное выражение для соответствия любой строке, но не менее 3 символов?
Я не эксперт по регулярному выражению, но мой запрос прост: мне нужно сопоставить любую строку, содержащую не менее трех или более символов.
Итак, например, мы имеем строку "hello world" и сопоставляем ее со следующим:
"he" => false // only 2 characters
"hel" => true // 3 characters match found
Ответы
Ответ 1
Это регулярное выражение python, но оно, вероятно, работает и на других языках, которые его реализуют.
Я думаю, это зависит от того, что вы считаете персонажем. Если это буквы, цифры и символы подчеркивания:
\w{3,}
если только буквы и цифры:
[a-zA-Z0-9]{3,}
Python также имеет метод regex для возврата всех совпадений из строки.
>>> import re
>>> re.findall(r'\w{3,}', 'This is a long string, yes it is.')
['This', 'long', 'string', 'yes']
Ответ 2
Попробуйте это. {3,} это будет соответствовать любому characher, кроме новой строки (\n)
Ответ 3
Если вы хотите совпадение, начиная с начала слова, используйте:
\b\w{3,}
\ b: граница слова
\ w: символ слова
{3,}: три или более раз для символа слова
Ответ 4
Я попробовал найти аналогичную тему в качестве первого сообщения.
Для моих нужд я нахожу это
http://answers.oreilly.com/topic/217-how-to-match-whole-words-with-a-regular-expression/
"\b[a-zA-Z0-9]{3}\b"
3 char только слова
"iokldöajf asd alkjwnkmd asd kja wwda da aij ednm <.jkakla"
Ответ 5
Вы можете попробовать простые 3 точки. см. код в perl ниже
$a = ~ m/.../#where $a - ваша строка
Ответ 6
Для использования .NET:
\ р {L} {3,}