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?

Foi útil?

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
scroll top