Java正则表达式: how to include '-'

标签 java regex

我正在使用此模式并匹配一个字符串。

String s = "//name:value /name:value";
if (s.matches("(//?\\s*\\w+:\\w+\\s*)+")) {
  // it fits
}

这可以正常工作。
但是,如果我想要一个像 "/name-or-address:value/name-or-address:value" 这样的字符串,在第二部分有这个“-”,它就不起作用。
我使用 \w 来匹配 A-Za-z_,但如何在其中包含 -

最佳答案

使用[\w-]组合\w-

请注意,- 应始终位于字符类的开头或结尾,否则它将被解释为定义字符范围(例如,[a-z] 是从 az 的字符范围,而 [az-] 是三个字符 az-)。

关于Java正则表达式: how to include '-' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2569039/

相关文章:

java - 为什么泛型在 Java 中的数组中被删除?

java - 识别列表中重复项的索引位置并获取 Java 中另一个列表的已识别索引处的元素

java - 多级继承

regex - Python re.match 不匹配以 ".number"结尾的字符串

十进制数的正则表达式

javascript - 这个 jQuery 验证代码有什么问题? regexp.exec(值)

java - Mac 10.8 上的 Eclipse - 安装了 1.7.0 JRE/JDK,但 Eclipse 无法启动

java - trustStore 的路径 - 为什么它不起作用?

regex - 解析多行变长日志文件

regex - 我的 Perl 正则表达式有什么问题