簡體   English   中英

正則表達式匹配句子中的第一個單詞

[英]Regex to match first word in sentence

我正在尋找一個正則表達式,它匹配句子中的第一個單詞,但不包括標點符號和空格。 例如:“這是一個句子”中的“這”。 和“首先,我想說的是“第一”!

這不起作用:

"""([A-Z].*?(?=^[A-Za-z]))""".r
(?:^|(?:[.!?]\s))(\w+)

將匹配每個句子中的第一個單詞。

http://rubular.com/r/rJtPbvUEwx

[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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM