Необходимо смотреть на исходный код django-mobileadmin , который решил точно эту проблему.
Это зависит от того, хотите ли вы сопоставить хэштеги внутри других строк ("Some # Word") или вещи, которые, вероятно, не являются хэштегами ("Мы # 1"). Регулярное выражение, которое вы указали # \ w +
, будет соответствовать в обоих этих случаях. Если вы немного измените свое регулярное выражение на \ B # \ w \ w +
, вы можете исключить эти случаи и сопоставить только хэштеги длиной больше 1 на границах слов.
Это тот, который я написал, он ищет границы слов и только соответствует хеш-тексту (? = \ W) \ W *? (? = \ W)
.