簡體   English   中英

正則表達式第n個匹配項(均等)

[英]Regex nth match in equal string

是否可以僅使用正則表達式(無需其他代碼!)來匹配第n個匹配項? 例如:

“汽車”-“火車”-“船”-“自行車”

現在我只想匹配BOAT,匹配的正則表達式為“ [AZ] +”,但這也匹配第一個,第二個和第四個。

有人為此提供純正則表達式解決方案嗎? 我需要這個,因為我無法更改使用正則表達式的代碼,但是我可以提供一個正則表達式。

最好的問候,羅賓

我覺得這個回顧后應該這樣做:

(?<=^("[A-Z]+"[\s-]+){2})"[A-Z]+"

它匹配一個在字符串開頭兩個單詞之后的單詞

在此處輸入圖片說明

如果我理解正確,並且將多個字符串逐個字符串地放入一個正則表達式中,那么不會 ,這是不可能的

正則表達式本身沒有比匹配時間更長的內存,因此,如果您要匹配一件事,而之后又匹配另一件事,則沒有前者的信息。

(?!(\\“ [AZ] \\” \\ s- \\ s){2})(\\“ [AZ] \\”)-其中{2}表示所需的索引。

唯一的問題是它也會在指定索引之后返回所有匹配項。 您可以執行比賽並返回第一個結果。

在您的示例中使用正則表達式對其進行了測試。

暫無
暫無

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

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