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