我正在尝试创建一个RegEx来查找包含任何元音的单词。 到目前为止,我已经尝试过这个
/(.*?\S[aeiou].*?[\s|\.])/i
但我没有使用RegEx太多,所以它不能正常工作。 例如,如果我输入"测试是1234和天空飞测试1234" 它应该匹配test,is,和test1234但是显示 测试,是,1234和 如果把别的东西放到不同的输出上。
答案 0 :(得分:2)
您可以使用以下正则表达式。
\S*[aeiou]\S*
\S*
匹配零个或多个非空格字符。
或
\w*[aeiou]\w*
答案 1 :(得分:2)
或者你也可以这样做:
"test is 1234 and sky fly test1234".split.find_all { |a| a =~ /[aeiou]/ }
# => ["test", "is", "and", "test1234"]
答案 2 :(得分:1)
它将解决:
\b\w*[aeiou]+\w*\b
https://www.debuggex.com/r/O-fU394iC5ErcSs7
或者您可以\w
\S
\b\S*[aeiou]+\S*\b
https://www.debuggex.com/r/RNE6Y6q1q5yPJbe-
\b
- 字边界
\w
- 与[_a-zA-Z0-9]
\S
- 非空白字符
答案 3 :(得分:0)
试试这个:
\b\w*[aeiou]\w*\b
\b
表示单词边界,因此此正则表达式匹配单词赏金,零个或多个字母,元音,零个或多个字母以及另一个单词边界