Java 用正则表达式测试字符串?

Java 用正则表达式测试字符串?,java,android,regex,Java,Android,Regex,目前,我正在测试一个字符串,以获取开关上的提示 if (!parseCommand.contains("switch#") 但我刚刚意识到,用户可以将名称从switch更改为带有数字或字母的名称。然而,它总是以#结束。我应该怎样做才能以更一般的方式来测试它?使用String.matches测试a#,并回溯a-zA-Z0-9 正如u所说,仅使用String.matches函数-可能是这样 if (!parseCommand.matches ("\\w+#.*")) parseCommand.m

目前,我正在测试一个字符串,以获取开关上的提示

if (!parseCommand.contains("switch#")

但我刚刚意识到,用户可以将名称从switch更改为带有数字或字母的名称。然而,它总是以#结束。我应该怎样做才能以更一般的方式来测试它?使用
String.matches
测试a#,并回溯a-zA-Z0-9

正如u所说,仅使用String.matches函数-可能是这样

if (!parseCommand.matches ("\\w+#.*"))
parseCommand.matches("\\w+#$")

这确保它总是以“#”结尾。

好吧,你在快结束的时候回答了你的问题。是的,您需要使用
String.matches
。我只是想知道这是正确的方法。感谢在许多情况下,您可以使用
\w
简化
[a-zA-Z0-9]
,ah不知道感谢不是更合适吗?“它总是以#然而”为什么是双反斜杠?像这样,你会将第二个反斜杠作为一个字符转义,不是吗?@Simon:单个反斜杠将是无效的转义序列。你需要避开反斜杠(在java中)才能将其用作一个反斜杠(在regex中)。