正则表达式将单词的开头和结尾与元音

时间:2016-03-05 12:26:47

标签: regex

我尝试使用以下Regex

/^[aeiou]\..*[aeiou]$/

但是它不起作用,我测试了#34; abcda"并没有匹配。

13 个答案:

答案 0 :(得分:18)

应该只是:

/^[aeiou].*[aeiou]$/

您拥有的额外\.将要求第二个字符为字面点,例如:" a.hello"。但是既然你的测试用例" abcda"不包括这样的点,它不匹配。

请注意,如果您还想匹配大写元音,可以添加i修饰符,如下所示:

/^[aeiou].*[aeiou]$/i

如果您的目的是仅匹配结尾元音开头的元音相同的字符串,则使用这样的反向引用\1

/^([aeiou]).*\1$/i

答案 1 :(得分:4)

以元音开头和结尾的单词

\b[aeiou](\w*[aeiou])?\b

\b代表单词边界(在这种情况下,单词的开头)。可选的分组()?可以匹配单个元音单词(对于葡萄牙语等语言以及oae甚至英语单词{{1 }}。)

开头的单词,以相同元音

I

请勿尝试将\b(?<vowel>[aeiou])(\w*\k<vowel>)?\b 替换为某些值。只是为了捕获匹配的元音。

答案 2 :(得分:3)

正则表达式的单词以元音开头和结尾。

<?php
$connect = mysqli_connect("localhost", "root", "", "stolen_cars");
$output = '';
if(isset($_POST["query"]))
{
 $search = mysqli_real_escape_string($connect, $_POST["query"]);
 $query = "
  SELECT * FROM record 
  WHERE name LIKE '%".$search."%'
  OR model LIKE '%".$search."%' 
  OR registration_no LIKE '%".$search."%' 
  OR chassis_no LIKE '%".$search."%' 
  OR color LIKE '%".$search."%'
  OR city LIKE '%".$search."%'
  OR district LIKE '%".$search."%'
 ";
}
else
{
 $query = "
  SELECT * FROM record ORDER BY id
 ";
}
$result = mysqli_query($connect, $query);
if(mysqli_num_rows($result) > 0)
{
  ?>

  <table class="table table-striped">
    <tr>
     <th>Name</th>
      <th>Model</th>
      <th>Reg.#</th>
      <th>Chassis#</th>
      <th>Engine#</th>
      <th>Color</th>
      <th>City</th>
      <th>Distt.</th>
      <th>Action</th>
    </tr>

  <?php
  foreach ($result as $row) { 

            echo "<tr>";
               echo "<td>".$row["name"]."</td>";
               echo "<td>".$row["model"]."</td>";
               echo "<td>".$row["registration_no"]."</td>";
               echo "<td>".$row["chassis_no"]."</td>";
               echo "<td>".$row["engine_no"]."</td>";
               echo "<td>".$row["color"]."</td>";
               echo "<td>".$row["city"]."</td>";
               echo "<td>".$row["district"]."</td>";
               echo "<td>
                  <form method=post><input class='btn btn-light' type='submit' name='btn_delete' value='Delete'></form>
                </td>";
              echo "</tr>";
           }
           ?>

  </table>
  <?php
 }

else
{
 echo 'Data Not Found';
}

?>

正则表达式用于以相同的元音开头和结尾的单词。

^[aeiou].*[aeiou]$

答案 3 :(得分:2)

/^(a|e|i|o|u).*\1$/

这对我有用

答案 4 :(得分:1)

我认为这个正则表达式最适合你:

/^a.*a$|^e.*e$|^i.*i$|^o.*o$|^u.*u$/

答案 5 :(得分:1)

或者你可以这样写:-

/^([aeiou]).+\1$/;

答案 6 :(得分:0)

您可以尝试这个。

var re = /^([a,e,i,o,u]).*\1$/;

* \ 1反向引用和$用作结尾。

答案 7 :(得分:0)

以相同元音开头和结尾的单词的正则表达式为:

var re = /(\ba(\w+)a\b|\be(\w+)e\b|\bi(\w+)i\b|\bo(\w+)o\b|\bu(\w+)u\b)/g;

以任何元音开头和结尾的单词的正则表达式为:

var re = /\b[aeiou]\w+[aeiou]\b/gi;

答案 8 :(得分:0)

实际上,现有的答案都没有涵盖具有单元音的极端情况。

以任何元音开头和结尾:

/^[aeiou]$|^[aeiou].*[aeiou]$/

故障说明:

  • ^[aeiou]$
    • ^ - 字符串的开始
    • [aeiou] - 一个元音。
    • $ - 字符串的结尾。
  • | - 或:
  • ^[aeiou].*[aeiou]$
    • ^ - 字符串的开始
    • [aeiou] - 一个元音。
    • .* 任意 - 零个或多个
    • [aeiou] - 一个元音
    • $ - 字符串的结尾。

以同一个元音开头和结尾

例如匹配aba,但匹配abe。我们可以回溯到第一个元音:

/^[aeiou]$|^([aeiou]).*\1$/

答案 9 :(得分:0)

好的,如果有人正在寻找正则表达式“以相同的元音结尾和开头” 这是代码。

/^([a|e|i|o|u]).*\1$/

Demo

答案 10 :(得分:-1)

试试这个:/[aeiou]+[a-z]+[aeiou]+/i

答案 11 :(得分:-1)

这将起作用:

/^([aeiou]).+\1$/

答案 12 :(得分:-1)

这适用于以相同元音开头和结尾的单词

/^([aeiou]).+\1$/

这与单词以元音开头,以相同的元音或另一个元音结尾,以及大写和小写字母一起工作

^[aeiouAEIOU][a-zA-Z]+[aeiouAEIOU]$