正则表达式匹配连字符中的连字符斜线字母数字

时间:2014-09-04 01:32:38

标签: java regex

我有一个与正则表达式相匹配的字符串

  

String str ="(1a / 2s - / - )"

我需要得到的条件:

  1. 必须有一个括号
  2. 只有字母数字短划线和斜线可以在括号内并重复
  3. 正则表达式我到目前为止已尝试过

      

    ([A-ZA-Z0-9] / [A-ZA-Z0-9] +)

    有人能帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:5)

您缺少的是您需要转义对正则表达式有意义的特殊字符。如括号,破折号和斜线。

\([a-zA-Z0-9\-\/]+\)

如果您需要强制该字符串只是这个,那么使它看起来像这样:

^\([a-zA-Z0-9\-\/]+\)$

^$表示必须分别以此开头和结尾。


细分:

^ =必须以
开头 \( =左括号
[a-zA-Z0-9\-\/]+ =至少一个或多个字母数字字符,短划线或正斜线 \) =右括号
$ =必须以

结尾

答案 1 :(得分:0)

您可以使用此正则表达式:

^\([A-Za-z0-9\-\/]+\)$

您需要转义括号并将斜线和破折号放入字符集中。如果您想要从头到尾匹配字符串,^$是可选的。