How to prevent it from matching the next line?(bnf)

hurlFile ::= item* WHITE_SPACE*
item ::= request response? NEWLINE*
request ::= COMMENT* httpRequestLine keyValue*
httpRequestLine ::= method urlOrTemp
urlOrTemp ::= (URL | temp) (URL_CHAR+)
URL_CHAR ::= SLASH | IDENTIFIER | NUMBER | QUESTION | AND | EQ | DOT | MINUS | UNDERSCORE  | temp
temp ::= VARIABLE_START variable VARIABLE_END
variable ::= IDENTIFIER
method ::= GET | POST | PUT | DELETE | PATCH | HEAD | OPTIONS | CONNECT | TRACE
keyValue ::=  keyLeft COLON anyString
keyLeft ::=  IDENTIFIER
response ::=  httpStatus? NEWLINE*
anyString ::= !WHITE_SPACE (IDENTIFIER|MINUS|NUMBER)*
httpStatus ::=NEWLINE* HTTP NUMBER NEWLINE*


In LivePreview, it seems to be correct, but after running the plugin, I got the wrong PsiElement