在Java中我想使用正则表达式匹配一个字符串,该字符串可能以或不以加号开头,然后包含任何单词。 喜欢+ adm,adm两者都应该匹配。
我试过了[\\+?\\w\./]+
,但它没有用。
答案 0 :(得分:1)
您需要提供一个文字+
后跟?
量词(表示“零或其中一个”),然后是您想要的字符类用于“单词”。您可能还需要一个捕获组。所有这些都在the documentation中解释。
重新编辑:
我尝试了
[\\+?\\w\./]+
,但它无效。
你不希望[]
中的所有内容,因为它表示一个字符类。要创建捕获组,请使用()
,而不是[]
。因此,可能想要new Pattern("(\\+?\\w+)")
:一个可选的文字+
后跟一个或多个单词字符,所有这些都在捕获组中。或者没有捕获组:new Pattern("\\+?\\w+")
。 (我显示new Pattern
位,所以很明显这是在字符串文字中,因此转义反斜杠.Java 真的需要一个文字正则表达式。) < / p>