在 Java 中,我想使用正则表达式来匹配一个字符串,该字符串可能以加号开头,也可能不以加号开头,然后包含任何单词。像 +adm 一样,adm 都应该匹配。
我试过[\\+?\\w\./]+
了,但它不起作用。
您需要给出一个文字+
,后跟?
量词(它的意思是“零或其中一个”),然后是您想要用于“单词”的任何字符类。您可能还需要一个捕获组。所有这些事情都在文档中进行了解释。
重新编辑:
我试过
[\\+?\\w\./]+
了,但它不起作用。
您不希望整个内容都在 中[]
,因为这表示字符类。要创建捕获组,请使用()
,而不是[]
。所以你可能想要new Pattern("(\\+?\\w+)")
:一个可选的文字+
,后跟一个或多个单词字符,都在一个捕获组中。或者在没有捕获组的情况下执行此操作:new Pattern("\\+?\\w+")
. (我展示了这new Pattern
一点,因此很明显这是在字符串文字中,因此转义了反斜杠。Java确实需要文字正则表达式表示法。)