编写正则表达式,选择包含以下任何单词的行:linux windows solaris macos

时间:2015-03-29 01:17:45

标签: java regex

"^linux$ || ^windows$ || ^solaris$ || ^macos$"

我在codelab中做正则表达式。它要我:"写一个正则表达式,选择包含以下任何单词的行:linux windows solaris macos。在本练习中,您必须用双引号括起您的解决方案。"

我收到此错误消息:

  

"问题:^ linux $ || ^ windows $ || ^ solaris $ || ^ macos $接受:   UNIX"

如何修复此代码?

5 个答案:

答案 0 :(得分:2)

^(linux|windows|solaris|macos)$

管道|提供交替,括号()将交替限制为设定组。

答案 1 :(得分:0)

将它放在括号中并使用单个管道是使用正则表达式

的方法

(Linux的|窗口| solaris的|的MacOS)

@bloodyknuckles回答只会找到以匹配的单词之一开头并以其结尾的字符串。删除胡萝卜和美元符号

这是一个测试http://regexpal.com/

的好工具

答案 2 :(得分:0)

\b添加到单词边界构造的开头和结尾:

"\\\b(windows|linux|solaris|macos)\\\b"

答案 3 :(得分:0)

我写了这个并且通过了:

"(Linux的|窗口| solaris的|的MacOS)\\ B"

答案 4 :(得分:0)

太好了!

“((linux | windows | solaris | macos)\ b”