Como faço para pesquisar formas que começam com o "?" no pegjs
-
21-12-2019 - |
Pergunta
Eu tenho que pesquisar formas como esta usando pegjs:
?xxx ?yyy
Eu teria pensado que isso seria :
variable
= str:?[a-z]+ { console.log('---->>>',str); return str.join(""); }
Quando eu analisar a fonte de eu chegar e de erro:
Objeto ?não tem nenhum método 'join'
Isso é porque o str
variável não é uma matriz de correspondência tokens...Alguma idéia de como isso deve ser feito?
Solução
Você pode qualquer grupo literais juntos:
variable
= str:("?"[a-z]+)
caso em que str
vai ser ["?",["a","b","c"]]
para ?abc
, ou, se ?
não é necessariamente o primeiro char, basta incluí-lo na classe:
variable
= str:[?a-z]+
em seguida, você vai obter uma matriz normal ["?","a","b","c"]
.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow