Java JMS Selector Syntax The AMQP Java JMS Messaging Client supports the following syntax for JMS selectors. )? // matches: 5.5 or 5. or 5.5E10 or 5.E10 | "." (["0"-"9"])+ ()? // matches: .5 or .5E10 | (["0"-"9"])+ ) // matches: 5E10 EXPONENT: "E" (["+","-"])? (["0"-"9"])+ STRING_LITERAL: "'" ( ("''") | ~["'"] )* "'" Identifiers (case insensitive): ID : ["a"-"z", "_", "$"] (["a"-"z","0"-"9","_", "$"])* QUOTED_ID : "\"" ( ("\"\"") | ~["\""] )* "\"" Grammar: JmsSelector := orExpression orExpression := ( andExpression ( andExpression )* ) andExpression := ( equalityExpression ( equalityExpression )* ) equalityExpression := ( comparisonExpression ( "=" comparisonExpression | "<>" comparisonExpression | | )* ) comparisonExpression := ( addExpression ( ">" addExpression | ">=" addExpression | "<" addExpression | "<=" addExpression | stringLitteral ( stringLitteral )? | ( )? | addExpression addExpression | addExpression addExpression | "(" ( "," )* ")" | "(" ( "," )* ")" )* ) addExpression := multExpr ( ( "+" multExpr | "-" multExpr ) )* multExpr := unaryExpr ( "*" unaryExpr | "/" unaryExpr | "%" unaryExpr )* unaryExpr := ( "+" unaryExpr | "-" unaryExpr | unaryExpr | primaryExpr ) primaryExpr := ( literal | variable | "(" orExpression ")" ) literal := ( | | | | | | | ) variable := ( | ) ]]>