Я пишу программу для распознавания действительных (как определено пользователем) выражений, и мне нужно уметь сопоставлять количество совпадений определенного символа в одна часть с другой. Например, если я использую PQ систему, вЯдро regex соответствует количеству раз подстрока/char появляется в строке
(some number of dashes)p-q(some number of dashes)
число штрихов до р должен соответствовать числу черточек после ц (для любого числа черточек) для того, чтобы быть действительным выражение.
Я пытаюсь сделать это надежным/обобщаемым (пользовательские правила, вы можете использовать * вместо -, вы можете сделать так, чтобы вам нужно удвоить количество тире после q и т. Д.), Я был думая добавить некоторый специальный текст (например, -(%%n%%)p-q-(%%n%%)
, где все, что имеет (%%n%%)
после того, как оно должно появиться точно «n»), но прежде чем я это сделаю, есть встроенные возможности регулярного выражения/достаточно простые исправления, или мне нужно будет начать с мой %%?
Заранее спасибо.
Редактировать: Глядя на мою проблему еще раз, лучший способ слова это то, что я по существу необходимо выяснить способ, чтобы отметить два (или, возможно, более) подстроки (в общем виде), чтобы убедиться, что они совпадение. У меня есть определенная степень гибкости в том, как я это делаю (не ограничиваясь только регулярным выражением), но в остальной части системы используется регулярное выражение, поэтому что-то, что не конфликтует/не может скомпрометировать то, что мне нужно сделать, чтобы заставить его работать, быть идеальным.
Редактировано, чтобы лучше объяснить вопрос – Aturf