Regex只匹配单词中的第一个字母
本文关键字:第一个 单词中 Regex | 更新日期: 2023-09-27 18:23:45
这应该很简单,因为某种原因,我似乎在扩展我的正则表达式知识的边界。我只需要一个正则表达式来匹配单词中的第一个字母。我只想要数组中以x
、y
或z
开头的字母。这似乎减少了数组中的项目数量。。。但我不知道为什么,因为结果不是我所期望的。
Regex regex = new Regex(@"'b[x|y|z]");
string[] array = text.Where(x => regex.IsMatch(x)).ToArray()); // 'text' is an array
尝试
'b([xyz]'w*)
'w*
表示零到多个单词字符。当使用[]
时,|
隐含在字符之间。因此,[xyz]
的意思是x、y或z。然后放置()
可以捕获单词。简而言之,我们找到一个单词的开头,然后捕获一个以x、y或z开头的字符串。
此外,您可以将'w
更改为[A-Za-z]
,因为有些会将_
和数字作为一个单词字符:)
也可以在这里测试regex。尽管它适用于php、python和javascript,但测试仍然很好:)
希望这能帮助到一些人!
可能是您正在搜索的内容:
Regex regex = new Regex(@"^(x|y|z).+$");
我试过了,它似乎能满足你的需求:
new Regex(@"'b[x|y|z](?='w*'b)")
如果我正确理解你的答案,那么你需要匹配以字母x
、y
或z
开头的单词。您接受的答案将与出现x
、y
或z
之后的所有内容相匹配。
试试这个:
[xyz]'w+
在类似的文本中
lalalla nananna x xaa yaaa zaaa lalala
它将匹配这三个单词
xaa
yaaa
zaaa
单独。
如果您还想匹配单个出现的字母,请使用
[xyz]'w*
相反,它将匹配
x
xaa
yaaa
zaaa