我尝试使用以下Regex
:
/^[aeiou]\..*[aeiou]$/
但是它不起作用,我测试了#34; abcda"并没有匹配。
答案 0 :(得分:18)
应该只是:
/^[aeiou].*[aeiou]$/
您拥有的额外\.
将要求第二个字符为字面点,例如:" a.hello"。但是既然你的测试用例" abcda"不包括这样的点,它不匹配。
请注意,如果您还想匹配大写元音,可以添加i
修饰符,如下所示:
/^[aeiou].*[aeiou]$/i
如果您的目的是仅匹配结尾元音与开头的元音相同的字符串,则使用这样的反向引用\1
:
/^([aeiou]).*\1$/i
答案 1 :(得分:4)
\b[aeiou](\w*[aeiou])?\b
\b
代表单词边界(在这种情况下,单词的和开头)。可选的分组()?
可以匹配单个元音单词(对于葡萄牙语等语言以及o
,a
和e
甚至英语单词{{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)
答案 10 :(得分:-1)
试试这个:/[aeiou]+[a-z]+[aeiou]+/i
答案 11 :(得分:-1)
这将起作用:
/^([aeiou]).+\1$/
答案 12 :(得分:-1)
这适用于以相同元音开头和结尾的单词
/^([aeiou]).+\1$/
这与单词以元音开头,以相同的元音或另一个元音结尾,以及大写和小写字母一起工作
^[aeiouAEIOU][a-zA-Z]+[aeiouAEIOU]$