true如果字符串以辅音开头,我想返回.我有两个条件,不知道如何组合它们.
1)这是一封信2)它不是元音
!!(s[0] =~ /([a-z]&&[^aeiou])/i)
Run Code Online (Sandbox Code Playgroud)
我尝试了各种其他语法,如:
!!(s[0] =~ /([a-z])([^aeiou])/i)
!!(s[0] =~ /(([a-z])([^aeiou]))/i)
Run Code Online (Sandbox Code Playgroud)
有没有办法在一个正则表达式中这样做?我需要分别检查每个条件吗?
您可以使用&&运算符组合字符类:
/[a-z&&[^aeiou]]/
Run Code Online (Sandbox Code Playgroud)
需要注意的是,&&运营商使用的内部字符类,而不是事后.
从文档:
字符类可能包含另一个字符类.这本身并没有用,因为它
[a-z[0-9]]描述了相同的集合[a-z0-9].但是,字符类还支持&&在其参数上执行set intersection 的运算符.这两者可以组合如下:Run Code Online (Sandbox Code Playgroud)/[a-w&&[^c-g]z]/ # ([a-w] AND ([^c-g] OR z)) # This is equivalent to: /[abh-w]/