Попробуйте это с использованием границы слова в регулярном выражении:
>>> x="this is a sample"
>>> y="this isis a sample."
>>> regex=re.compile(r"\bis\b") # For ignore case: re.compile(r"\bis\b", re.IGNORECASE)
>>> regex.findall(y)
[]
>>> regex.findall(x)
['is']
Из документации re.search()
.
It matches the empty string, but only at the beginning or end of a word
E.g. r'\bfoo\b' matches 'foo', 'foo.', '(foo)', 'bar foo baz' but not 'foobar' or 'foo3'
Надеюсь, что это поможет!
Ваша основная проблема - следующее замечание по phpMyAdmin в столбце description
:
Из-за своей длины этот столбец может быть недоступен для редактирования.
blockquote>В этом случае текущий тип данных
TEXT
слишком мал, поэтому нет места для добавления дополнительных данных в поле. Вы можете изменить тип данных следующим образомALTER TABLE
на больший (MEDIUMTEXT
илиLONGTEXT
):ALTER TABLE oc_information_description MODIFY description MEDIUMTEXT
Ваша вторая проблема - неправильный синтаксис sql (пытается решить первая проблема):
1064 - у вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса для использования рядом с «COLUMN description (MAX_ROWS = 1000000000 AVG_ROW_LENGTH = 1000000000)» в строке 1
blockquote>Нельзя указать [117 ] или
MAX_ROWS
для определенного столбца. Вы можете указать их только для таблицы. Вы можете изменить эти значения следующим образомALTER TABLE
:ALTER TABLE oc_information_description AVG_ROW_LENGTH = 1000000000, MAX_ROWS = 1000000000
BLOCKQUOTE>
table_options
означает параметры таблицы такого типа, которые можно использовать в оператореCREATE TABLE
, такие какENGINE
,AUTO_INCREMENT
,AVG_ROW_LENGTH
,MAX_ROWS
,ROW_FORMAT
илиTABLESPACE
.