簡體   English   中英

正則表達式匹配2個字符之間的所有字符串

[英]Regex match all strings between 2 characters

我嘗試了其他幾個鏈接,例如Regex Match兩個字符串之間的所有字符Regex獲取兩個字符之間的所有內容,但它們似乎不適合此用例。

我想知道所有的名字,土豆和西紅柿。 例如,來自| >

text = "with <@U0D08NR3|potato> and <@U1698M96|tomato> please"

text.scan((?<=|).*?(?=>))似乎也不起作用。

請引導我正則表達式之神。

剛剛躲過| (?<=\\|).*?(?=>) 沒有它,正向后方意味着匹配任何東西

您忘記了逃脫管道( | ),該管道現在被解釋為輪換指示器

帶有轉義管道的正則表達式:

(?<=\|).*?(?=>)

在這里您可以看到結果

嘗試這個:

text.scan(/\|(\w*)\>/).flatten
# Returns => ["potato", "tomato"]

不太確定為什么這樣做。 與貪婪和非貪婪匹配有關。 看到這個

暫無
暫無

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

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