簡體   English   中英

正則表達式:一個字符的最后一次出現和另一個字符的第一次出現之間的匹配

[英]Regex: match between last occurrence of a character and first occurrence of another character

我有以下字符串:

COUNTRY/CITY/street_number_floor_tel

我想提取最后一次出現'/'和第一次出現'_'之后的內容。 所以結果是:

street

到目前為止,我已經設法想出了這個正則表達式:

[^/]+(?=_)

結果如下:

street_number_floor

所以我基本上不知道在找到第一次出現'_'之后如何停止。

非常感謝您提前提供的任何提示!

您可以使用

(?<=/)[^/_]+(?=_[^/]*$)

查看正則表達式演示

細節

  • (?<=/) - 需要在比賽前立即使用/的積極回溯
  • [^/_]+ - 除/_之外的 1+ 個字符
  • (?=_[^/]*$) - 一個正向前瞻,需要_ ,然后是除/之外的 0+ 個字符,直到緊挨當前位置右側的字符串結尾。

暫無
暫無

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

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