Регулярные выражения в строках Unicode - PullRequest
1 голос
/ 11 декабря 2008

У меня есть текст Unicode, который я хочу очистить с помощью регулярных выражений. Например, у меня есть случаи, когда u '(2'. Это существует, потому что по причинам форматирования закрывающая часть заканчивается в соседней html-ячейке. Моим первоначальным решением этой проблемы было посмотреть на содержимое следующей ячейки и использовать строку Функция определения, удерживала ли она закрывающую скобку. Я знала, что это не было хорошим решением, но оно работало. Теперь я хочу это исправить, но не могу заставить регулярное выражение работать.

missingParen=re.compile(r"^\(\d[^\)]$")

Мое понимание того, что я думаю, я делаю:
^ в начале строки, которую я хочу найти
(открытый парен, парен должен иметь обратную косую черту, потому что это специальный символ
Я также хочу найти одну цифру
[Я создаю специальный класс персонажей
^ Я не хочу найти то, что следует
) который является близким родственником
$ в конце строки

И, конечно, сюжет сгущается, я сделал глупое предположение, что, поскольку я поместил \ d, я не смогу найти (33, но я ошибаюсь, поэтому я добавил {1} к своему регулярному выражению, и это не помогло, оно совпало (3333, поэтому моя проблема сложнее, чем я думал. Я хочу, чтобы строка была только открытым паренем и одной цифрой. Это более умный подход

missingParen=re.compile(r"^\(\d$")

И заметьте, S Lott _ Я уже пометил его как начинающего, так что вы не можете поднять какие-либо дешевые баллы. Не то, чтобы я не оценил ваши идеи. Я продолжаю думать о вашей книге, возможно, у нее есть ответ

1 Ответ

1 голос
/ 11 декабря 2008

Ладно, извините за использование этого стимулятора мышления в потоке сознания, но похоже, что написание моего оригинального вопроса привело меня на путь. Мне кажется, что это решение для того, что я пытаюсь сделать:

  missingParen=re.compile(r"^\(\d$")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...