println "p(cat || cats, n)" ==~ /^p\(.+||.+,sn\)$/
println "" ==~ /^p\(.+||.+,sn\)$/
为什么第二行会返回true?这是一个错误吗?
答案 0 :(得分:3)
|
是一个特殊字符,意思是" OR"并且需要进行转义才能获得文字|
。第二个正则表达式返回true,因为||
匹配空字符串(在两个&#34之间; OR")
注意没有" s"在第一个字符串中的逗号之后但是空格。