gpt4 book ai didi

c# - 正则表达式仅匹配单词中的第一个字母

转载 作者:太空宇宙 更新时间:2023-11-03 23:25:50 24 4
gpt4 key购买 nike

由于某种原因,这应该很简单,我似乎在扩展我的正则表达式知识的界限。我只需要一个匹配单词中第一个字母的正则表达式。我只想要数组中以 x yz 开头的字母。这似乎减少了数组中的项目数量......但我不确定为什么,因为结果不是我所期望的。

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],因为有些会将 _ 和数字作为单词字符:)

也可以去here测试正则表达式。尽管它适用于 phppythonjavascript,但它仍然很适合测试:)

希望这对一些人有帮助!

关于c# - 正则表达式仅匹配单词中的第一个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33835441/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com