我不明白为什么我使用:
boolean found = Pattern.compile("^\\d", Pattern.MULTILINE).matcher("dfg\n5t").find();
,它返回true。
但如果我使用:
// taken from two input field with the same above values!!!
String rx = txt_rx.getText();
String ch = txt_ch.getText();
boolean found = Pattern.compile(rx, Pattern.MULTILINE).matcher(ch).find();
,它返回false。
感谢。
答案 0 :(得分:2)
你说getText()
返回的字符串与字符串文字相同,但它们不应该相同!
\\
和\n
是特殊的转义序列,仅在字符串文字中解释(分别为\
和换行符)。如果要从文本字段解释字符串文字后读取相同的字符串,则应将其输入为^\d
和
dfg 5t
分别。您需要一个mulitline文本字段来输入后一个值(Swing中的JTextArea
)。