Preciso no php 8 verificar se no arquivo de configuração algum parâmetro não está comentado, inclusive casos em que ";" o símbolo pode estar dentro de espaços:
# other settings you may need to change.
; server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
Com expressão regular
[\s]*[^;][\s]*server-id[\s]*=[\s]*(.\d)
obtém resultados errados quando há espaços antes de ";" símbolo, quando a linha é considerada comentada:
https://regex101.com/r/n259oJ/1
Tentei usar \A no início da linha, mas não consegui.
Como posso verificar se não há espaços antes de ";" na linha ?
Ancore o regexp no início da linha e permita apenas espaços em branco antes de
server-id
.Não há necessidade de disallow especificamente
;
, pois não é um espaço em branco.