使用RegEx获取字符串的第一个单词

时间:2014-02-11 12:35:18

标签: regex

我正在尝试将字符串中的第一个单词与RegEx匹配。

我知道如果第一个字符串是一个单词,如何匹配第一个单词,但问题是我的字符串开始时;例如。

^([\w\-]+)

使用

This is my sentence.

但没有

; This is my sentence

我的目标是匹配第一个单词

This

独立于之前的哪个角色。

谢谢。

4 个答案:

答案 0 :(得分:4)

尝试这种模式:

^\W*([\w-]+)

它锚定在字符串的开头(^),并且在模式的第一个组中匹配第一个单词之前允许任意数量的前导非单词字符(\W*)({ {1}})。

答案 1 :(得分:3)

如果您的语言支持lookbehind

(?<=^\W*?)([\w\-]+)

只会匹配您所需的内容,而无需使用群组

否则,Marius Schulz的回答将完成这项工作!

答案 2 :(得分:2)

你应该用这个:

\b([\w-]+)\b

锚点^是一个问题,迫使你只在乞讨时匹配单词。应该用\b(单词边界)替换。

答案 3 :(得分:-1)

尝试此链接http://www.regular-expressions.info/wordboundaries.html正则表达式中有一些称为单词边界的内容