[英]Regular expression to make non-greedy
我有這樣的文字
EXPRESS blood| muscle| testis| normal| tumor| fetus| adult
RESTR_EXPR soft tissue/muscle tissue tumor
現在我只想提取 EXPRESS 行中的最后一項,即adult
。
我的模式是:
[|](.*?)\n
代碼貪得無厭muscle| testis| normal| tumor| fetus| adult
muscle| testis| normal| tumor| fetus| adult
muscle| testis| normal| tumor| fetus| adult
。 我能知道是否有辦法解決這個問題嗎?
在匹配 pipe 字符后跟可選空格后,您可以采用捕獲組值排除匹配 pipe 字符。
如果字符串末尾必須有一個換行符:
\|[^\S\n]*([^|\n]*)\n
解釋
\|
匹配|
[^\S\n]*
匹配不帶換行符的可選空白字符(
捕獲組 1
[^|\n]*
匹配除|
之外的可選字符或換行)
關閉組 1\n
匹配一個換行符或者斷言字符串的結尾:
\|[^\S\n]*([^|\n]*)$
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.