正则表达式匹配的句子第一个单词(Regex to match first word in sente

2019-08-16 20:23发布

我要寻找匹配的不含标点符号和空格的句子第一个字一个正则表达式。 例如:“这”在“这是一个句子。” 和“第一”“首先,我想说\”你好!\“”

这不起作用:

"""([A-Z].*?(?=^[A-Za-z]))""".r

Answer 1:

(?:^|(?:[.!?]\s))(\w+)

将在每一个句子匹配的第一个词。

http://rubular.com/r/rJtPbvUEwx



Answer 2:

[a-z]+

这应该是足够的,因为它会得到第一个字符AZ(假设不区分大小写)。

如果它不工作,你可以尝试[az]+\b ,甚至^[az]\b ,但最后一个假设串字开始。



Answer 3:

你可以使用这个表达式: ^[^\s]+^[^ ]+



Answer 4:

你可以使用这个表达式: ^\s*([a-zA-Z0-9]+)

的第一个字可以在所捕获的组中找到。



Answer 5:

这是一个古老的线程,但人们可能需要这个像我一样。 上述工程中没有如果你的句子开始与一个或多个空格。 我这样做是为了获得在句子中的第一个(非空)词语:

(?<=^[\s"']*)(\w+)

说明:

(?<=^[\s"']*)以查找字符串的开始正回顾后,后跟零个或多个空格或标点符号(你可以加括号之间更多),但不包括它在比赛中。
(\w+)这个词的实际相吻合,这将返回

在句子中的下列词语不匹配,因为它们不符合回顾后。



文章来源: Regex to match first word in sentence