Мне нужно проанализировать (, чтобы не оценивать ) выражения Xpath в Python, чтобы изменить их, например, У меня есть выражения, как
//div[...whatever...]//some-other-node...
и мне нужно изменить их (например):
/changed-node[@attr='value' and ...whatever...]/another-changed-node[@attr='value' ...
Как мне кажется, мне нужно разделить исходное выражение на шаги и шаги на оси + узлы и предикаты. Есть ли какой-нибудь инструмент, с которым я могу это сделать, или есть хороший и простой способ сделать это без него?
Загвоздка в том, что я не уверен, что предикаты исходных выражений не будут содержать что-то вроде [@id='some/value/with/slashes']
, поэтому я не могу разобрать их с наивными регулярными выражениями.