2016-08-02 11 views
-3

Что такое регулярное выражение, чтобы найти тег, как это:Найти Regex слово

Вот текст и есть тэг @username могут быть пробелы здесь (# A345D78) и это конец!

Мне нужно найти по:

  • Тэг начинается с "@"

  • Тогда где-то будет "(#"

  • И всегда после 8 символов из # будет be ")"

Таким образом, важные подходящие детали: @ (# ********)

Благодаря

Язык PHP

Действительно:

@ Мартина ван дер Бюрен (# 6575GT67)

Не действует:

@ Мартина Van Der Buren # 6575GT6 7)

@ Мартина ван дер Бюрен (6575GT67)

@ Мартина ван дер Бюрен (# 6575GT67

+1

Что вы пытались? –

+1

Регулярные языковые особенности. Какой язык вашей среды? И да, где ваш проблемный код? –

+0

Дайте фактический образец того, что должно соответствовать, и что-то, что не должно. –

ответ

2

Вы можете использовать:

@.*?\(#.{8}\) 

Это будет совпадать с @ с последующим любое число символов, затем рисунок (# 12345678)

+0

Я не думаю, что после '#' обязательно числа, '8 символов из #'. (хотя в примере это так) – chris85

+0

@ chris85 OP дал 8 цифр, давайте подождем разъяснений.Во всяком случае, легко переключаться с \ d на все, что ему нужно –

+0

Это работает только в цифрах, мне тоже нужны буквы. – Racoon

-1

Я буду кусать! См. Regex101 для рабочего примера.

@.* \(#.{8}\) 
+0

Jup tnx. Thomas Ayoub был первым :) – Racoon

+1

Это не сработало бы для двух тегов на той же строке. –

+0

Это не обязательно –

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