Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 正则表达式查找辅音和任何';u';在';q';(红宝石色)_Ruby_Regex - Fatal编程技术网

Ruby 正则表达式查找辅音和任何';u';在';q';(红宝石色)

Ruby 正则表达式查找辅音和任何';u';在';q';(红宝石色),ruby,regex,Ruby,Regex,我想这很简单,但我对正则表达式还不熟悉,我就是无法理解 我想把一个单词当作字符串,比如“temple”、“quiet”或“square”,在元音之前找到所有的开始辅音,但如果它跟在“q”后面,则包括“u” 我可以很好地找到所有的开始辅音(没有'qu'规则): 这将返回预期的tr 要添加“qu”的功能,我想我可以做如下操作: /\b([bcdfghjklmnprstvwxyz]|qu)+/ 但这根本没用。有人能给我点化一下吗?嗯,对我有用: def beg_con(str) m=str.matc

我想这很简单,但我对正则表达式还不熟悉,我就是无法理解

我想把一个单词当作字符串,比如“temple”、“quiet”或“square”,在元音之前找到所有的开始辅音,但如果它跟在“q”后面,则包括“u”

我可以很好地找到所有的开始辅音(没有'qu'规则):

这将返回预期的
tr

要添加“qu”的功能,我想我可以做如下操作:

/\b([bcdfghjklmnprstvwxyz]|qu)+/
但这根本没用。有人能给我点化一下吗?

嗯,对我有用:

def beg_con(str)
m=str.match(/\b([bcdfghjklmnprstvwxyz]| qu)+/)
Mm[0]:零
结束
beg_con(‘麻烦’)#=>“tr”
beg_con(‘安静’)#=>“去”
beg_con('square')#=>“squ”

如果要匹配以多个Q开头的单词:


然而,在任何已知的语言中都可能不存在这样的“单词”(可能除了克林贡语)。

适合我。请提供反例(没有麻烦、安静、方形等问题)。@WayneConrad:
String#[]
运算符的有趣用法,我不知道它有正则表达式的变体。尽管如此,为了清晰起见,我将保留现有的impl。谢谢你的指南针!谢谢你的增援。我在正则表达式之外还有一个错误,它把结果搞砸了。您的确认帮助我找到了错误的正确位置。克林贡语是一种真正的语言。:-)@是的,我不是认真的
/\b([bcdfghjklmnprstvwxyz]|qu)+/
^(?:[bcdfghjklmnprstvwxyz]|qu?)+)