簡體   English   中英

如何編寫以特定單詞匹配開頭的正則表達式,並持續到達到句點

[英]How can I write a regular expression that starts with a particular word match and continues until it hits a period

我嘗試編寫一個與特定單詞匹配的正則表達式,並繼續匹配,直到遇到句點。 例如:

文本:

除了處女,聲稱或者先發或者從未贏過三場比賽或者可選的聲稱價格25,000美元之外,從未贏過兩場比賽。 三歲兒童,118磅; 年齡較大,123磅。 自3月9日以來的非贏家$ 24,000允許2磅。

期望的比賽:

除了處女,聲稱或者先發或者從未贏過三場比賽或者可選的聲稱價格25,000美元之外,從未贏過兩場比賽。

正則表達式:

(?<Match1>Which\s[a-zA-Z]*[.])

不幸的是,我提出的表達式捕獲了所有文本,似乎延伸到最后一個時期而不是第一個時期

它實際上非常簡單。 使用[^.]*匹配所有字符,但不包括下一個字符. \\b邊界圍繞你想要的單詞。 我附上了決賽. 作為\\. 假設您要在匹配的輸出中包含它。

(?<Match1>\bWhich\b[^.]*\.)

(?<Match1>Which[^.]*?[.])

除了一段時間之外的任何事情的非貪婪匹配。

很簡單:

([^.]*This[^.]*\.)

看到它在行動: http//regexr.com?32b8b

簡單地用你的單詞替換“This”,你應該匹配所有“句子”(如果你真的想要這樣做,你應該考慮在你的句號中添加“!”和“?”以匹配那些結尾的句子,太)。

編輯:如果單詞在其中,則匹配整個句子,如果你只想從單詞向前,即如果單詞在句子的中間,則省略第一個[^。] *它應該工作。

(This[^.]*\.)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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