簡體   English   中英

使用正則表達式在文本中的任意位置找到兩個單詞

[英]Finding two words anywhere in text with regular expression

憑空想像力,我不是正則表達式方面的專家! 我了解正則表達式如何組合在一起的基礎知識,但是通過正則表達式,我可以搜索可能出現在一段文本中任何地方的兩個單詞嗎?
即炎熱和天氣。 可以這樣寫:天氣炎熱,天氣炎熱,天氣變得更熱

是否可以創建一個正則表達式來拾取所有三種情況,但是(例如)圖片不是在惡劣的天氣下拍攝的?

任何幫助將不勝感激-我正在使用PHP5.6進行替代,是否有沒有想到的更好的方法?

如果只需要這兩個單詞,則可以進行正則表達式搜索,並帶有可選的單詞結尾列表。

例如: (\\bweather\\b.*hot(ter|test)?\\b|\\bhot(ter|test)?\\b.*\\bweather\\b)

但是,如果您需要根據用戶輸入來構建正則表達式,則需要完整的可能結尾列表: (s|er|est|ier|iest|ter|test|etc|etc)?

例如: (\\bweather(s|er|est|ier|iest|ter|test|etc|etc)?\\b.*hot(s|er|est|ier|iest|ter|test|etc|etc)?\\b|\\b(s|er|est|ier|iest|ter|test|etc|etc)?\\b.*\\bweather(s|er|est|ier|iest|ter|test|etc|etc)?\\b)

唯一的問題是,如果沒有添加其他邏輯來查看原始單詞,就會錯過像sillysilliest那樣的結尾或see別人saw結尾。

暫無
暫無

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

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