Я не понимаю, почему вы хотите использовать регулярное выражение, если вы просто получаете подмножество из строки.
Это работает так же:
if line.startswith('test:'):
print(line[5:line.find('.')])
example :
>>> line = "test: match this."
>>> print(line[5:line.find('.')])
match this
Regex работает медленно, неудобно проектировать и трудно отлаживать. Есть определенные причины использовать его, но если вы просто хотите извлечь текст между test:
и .
, то я не думаю, что это одно из этих случаев.
Для большей гибкости (например, если вы зацикливаете список строк, которые вы хотите найти в начале строки, а затем индексировать) заменить 5 (длина «test:») в индексе с помощью len(str_you_looked_for)
.
Нажмите Ctrl + Shift + F и введите строку поиска (div).*(class="X")
.
Если класс X
можно найти в любом месте строки, например:
<div class="another-class X"></div>
измените ваше регулярное выражение следующим образом: (div).*(class=".*X")
Также убедитесь, что вы выбрали свойство Regex (см. ниже изображение).
Например, здесь я искал все html-файлы, где есть div
с class="row"
.
Я использовал это на IntelliJ IDEA 2018.1.5 (Ultimate Edition) Build # IU-181.5281.24 , и он работает как прелесть.