我正在尝试编写一个匹配句子第二个单词的正则表达式 .
到目前为止我所拥有的是什么
\s+[^\s]+
哪个匹配
快速的棕色狐狸跳过懒狗
不幸的是,我无法想出一个解决方案来消除领先的空白区域 .
有关示例,请参阅http://regex101.com/r/nB9yD9
那么,有没有一种简单的方法来匹配“快速”而没有白色空间?这里选择的武器是C#,如果它有任何区别的话 .
而且它是正则表达式,我知道 String.Split
在这种特定情况下会更好 .
另外,是否可以匹配正则表达式中第n个单词?对于我所知道的正则表达式不能组成一个未知数量的组,这是正确的吗?
EDIT :我的例子中有一个拼写错误 . 我放在那里的下划线意在强调白色空间 .
2 回答
您正在使用的正则表达式是正确的 . 要解决您的问题,您可以使用
capture groups
,如下所示:这将产生
quick
,没有尾随空格 .或者,您也可以在结果上使用
trim()
方法 .另外,根据您的附注,您可以通过组合C#和正则表达式来匹配给定句子的
nth
单词,这样的事情应该做您需要的:产量:
我不得不对正则表达式进行修改以考虑第一个字 . 这允许正则表达式选择前面有空格的单词,或者字符串的开头 .
根据您的评论,请查看this链接 .