-4

在 Java 中,我想使用正则表达式来匹配一个字符串,该字符串可能以加号开头,也可能不以加号开头,然后包含任何单词。像 +adm 一样,adm 都应该匹配。

我试过[\\+?\\w\./]+ 了,但它不起作用。

4

1 回答 1

1

您需要给出一个文字+,后跟?量词(它的意思是“零或其中一个”),然后是您想要用于“单词”的任何字符类。您可能还需要一个捕获组。所有这些事情都在文档中进行了解释。


重新编辑:

我试过[\\+?\\w\./]+了,但它不起作用。

您不希望整个内容都在 中[],因为这表示字符类。要创建捕获组,请使用(),而不是[]。所以你可能想要new Pattern("(\\+?\\w+)"):一个可选的文字+,后跟一个或多个单词字符,都在一个捕获组中。或者在没有捕获组的情况下执行此操作:new Pattern("\\+?\\w+"). (我展示了这new Pattern一点,因此很明显这是在字符串文字中,因此转义了反斜杠。Java确实需要文字正则表达式表示法。)

于 2013-05-06T07:35:01.020 回答