Java regex engine blocks special interpretation of all meta-characters between Q
and E
. For example, [name]
matches a single character ('n'
, 'a'
, 'm'
, or 'e'
), while Q[name]E
matches six characters - '['
, 'n'
, 'a'
, 'm'
, 'e'
, and ']'
. See the Special Characters section of the regex tutorial for more detail.
The method makes a regular expression from a string that is presumably provided externally (e.g. entered by a user). Since the string may contain meta-characters, the method encloses the entire string in Q
and E
. If the string already contains a E
, the method inserts the end of the quote, a match of E
, and a beginning of a new quote for each E
that it finds..
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…