我认为这很简单,但我对正则表达式不熟悉而且我无法解决这个问题。
我想把一个单词作为字符串,如“temple”,“quiet”或“square”,并在元音之前找到所有开始的辅音,但如果它跟在'q'之后包括'u'。< / p>
我有这个工作正常,找到所有的开始辅音(没有'qu'规则):
s = 'trouble'
s.match(/\b[bcdfghjklmnpqrstvwxyz]+/) # I assume I could replace '\b' with '^'
按预期返回tr
。
要添加'qu'的功能,我想我可以这样做:
/\b([bcdfghjklmnprstvwxyz]|qu)+/
但这根本没有用。有人可以赐教我吗?
答案 0 :(得分:0)
def beg_con(str)
m = str.match(/\b([bcdfghjklmnprstvwxyz]|qu)+/)
m ? m[0] : nil
end
beg_con('trouble') # => "tr"
beg_con('quiet') # => "qu"
beg_con('square') # => "squ"
答案 1 :(得分:0)
如果您想匹配以多个 q 开头的单词:
^(?:[bcdfghjklmnprstvwxyz]|qu?)+)
但是,这些“单词”可能不存在于任何已知语言中(可能除了克林贡语)。