PyCharm извлекает типы из строки @type pydoc. См. Здесь PyCharm docs здесь и здесь и Epydoc docs . Он находится в разделе «legacy» PyCharm, возможно, ему не хватает функциональности.
class King:
def repress(self, peasant):
"""
Exploit the workers by hanging on to outdated imperialist dogma which
perpetuates the economic and social differences in our society.
@type peasant: Person
@param peasant: Person to repress.
"""
peasant.knock_over() # Shows a warning. And there was much rejoicing.
Соответствующая часть - это строка @type peasant: Person
строки docstring.
Мое намерение не чтобы украсть очки у CrazyCoder или оригинального вопросника, непременно дайте им свои очки. Я просто подумал, что простой ответ должен быть в слоте «ответ».
Необходимо поместить шаблон в круглые скобки /([A-Z])/
, как это:
preg_replace("/([A-Z])/", "<span class=\"initial\">$1</span>", $str)
\0
будет также соответствовать всему подобранному выражению, не делая явного получения с помощью круглой скобки.
preg_replace("/[A-Z]/", "<span class=\"initial\">\\0</span>", $str)
Как всегда, можно перейти в , php.net/preg_replace или php.net/<whatever ищет term> искать документацию быстро. Quoth документация:
\0 или 0$ обращается к тексту, подобранному целым шаблоном.
От preg_replace документация на php.net:
замена может содержать ссылки формы \n или (начиная с PHP 4.0.4) $n с последней формой, являющейся предпочтительной. Каждая такая ссылка будет заменена текстом, полученным заключенным в скобки шаблоном n'th.
Посмотрите пример Flubba.