[英]Regex to match first word in sentence
我正在寻找一个正则表达式,它匹配句子中的第一个单词,但不包括标点符号和空格。 例如:“这是一个句子”中的“这”。 和“首先,我想说的是“第一”!
这不起作用:
"""([A-Z].*?(?=^[A-Za-z]))""".r
[a-z]+
这应该足够,因为它将获得第一个az字符(假设不区分大小写)。
万一它不起作用,您可以尝试[az]+\\b
,甚至^[az]\\b
,但是最后一个假设字符串以单词开头。
您可以使用以下正则表达式: ^[^\\s]+
或^[^ ]+
。
这是一个旧线程,但是人们可能像我一样需要它。 如果您的句子以一个或多个空格开头,则以上方法均无效。 我这样做是为了获得句子中的第一个(非空)单词:
(?<=^[\s"']*)(\w+)
说明:
(?<=^[\\s"']*)
正向后看,以查找字符串的开头,后跟零个或多个空格或标点字符(可以在方括号之间添加更多字符),但不要包括它在比赛中。
(\\w+)
单词的实际匹配,将返回
句子中的以下单词不匹配,因为它们不符合后面的条件。
您可以使用此正则表达式: ^\\s*([a-zA-Z0-9]+)
。
第一个单词可以在捕获的组中找到。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.