Форум сайта python.su
ZerGну этот шаблон работает ^ а этот ?<! нет
Отредактировано artur567297 (Окт. 23, 2023 22:35:16)
Офлайн
artur567297Да ты не понимаешь регулярные выражения. Где ты их изучал?
Там пробел перед 7BAS. - так я могу поставить Y = \s7 все равно вернет 7BAS
>>> import re >>> >>> re.findall(r'(?<!7)\w+', 'HISD 7BAS') ['HISD', '7BAS'] >>>
При поиске вот такой фигни
(?<!7)\w+
в вот такой строке
HISD 7BAS
что с чем совпадает в итоге на каждом шаге в функции?
Вот на первом поиске в функции они совпадают вот так:
(?<!7) \w+
пустая_строка HISD пробел 7BAS
На втором поиске в функции они совпадают вот так:
(?<!7) \w+
HISD пробел 7BAS
(?<!…)Но ты по-английски читать не умеешь, поэтому для тебя мы сделаем исключение. Не будем тебя тупорылым называть, а просто покажем тебе, где это написано и что оно значит.
Matches if the current position in the string is not preceded by a match for …. This is called a negative lookbehind assertion. Similar to positive lookbehind assertions, the contained pattern must only match strings of some fixed length. Patterns which start with negative lookbehind assertions may match at the beginning of the string being searched.
artur567297Да ты не шаришь просто в регулярных выражениях! С чего ты взял, что речь идёт про слова, начинающиеся с семёрки?! Речь идёт про слова, перед которыми семёрка стоит! Перед словом 7BAS никакой семёрки нет, там пробел стоит, и вот с ним, с этим пробелом, эта проверка и совпадает и показывает истину, потому что пробел - это не семёрка.
а если наоборот нужно отобрать все слова которые начинаются не с семерки в справки сказано что символ ?<! для этого подходит а по факту нет
Отредактировано py.user.next (Окт. 24, 2023 06:46:49)
Офлайн
py.user.nextТы ему это написал уже примерно раза 4
Речь идёт про слова, перед которыми семёрка стоит! Перед словом 7BAS никакой семёрки нет, там пробел стоит, и вот с ним, с этим пробелом, эта проверка и совпадает и показывает истину, потому что пробел - это не семёрка.
Офлайн
py.user.nextПонял. Да все работает как написано в https://docs.python.org/3/library/re.html
Офлайн