Как в регулярное выражение добавить свои знаки
Только начал изучать регулярные выражения, и столкнулся с проблемкой, как два знака += и -= чтобы регулярка воспринимала его как один например в строке есть
a=1, a=+1, a=-1, a=b, a=b+100, a=b-100, b+=10, b+=+10, b+=-10, b+=b, b+=b+100, b+=b-100, c-=101, c-=+101, c-=-101, c-=b, c-=b+101, c-=b-101
вот например для а = 1 моя регулярка ([abc]=\d)
для a = +1 и a = -1 регулярка ([abc]=[+-]\d)
для а = b -> ([abc]=\w)
и так далее, но когда дохожу до b += 10 или b += B, c-+101 я сбиваюсь, и у меня возникает вопрос как сделать чтобы +=, -= искало как один символ и как объединить все регулярки в одну? Буду очень благодарен за любую подсказку, спасибо!
Ответы (1 шт):
Точно также как вы ищете [abc], только с одним нюансом, что + надо экранировать \. Для пары +=, -= выражение [\+-]?=
Строка из примера покрывается следующим выражением.
[abc][\+-]?=b?[-\+]?\d*
Если есть зависимости между тем какие знаки могут встречаться справа, если что-то было слево, то выражение усложнится и понадобятся <lookahead>.