簡體   English   中英

如何在java中使用正則表達式提取最后一個最短的字符串

[英]How can i extract last shortest string using regex in java

我怎樣才能在下面提取粗體字符串

字符串:

  1. 你好世界blah -d blah vlaah -n blah vlahh
  2. 你好世界blah -n blah vlahh -d blah vlaah
  3. 你好世界blah -d blaaah

我試過了。 -[dn] .*$但它找到了如下所示的最長匹配字符串

  1. 你好世界blah -d blah vlaah -n blah vlahh

我想提取最短的匹配字符串。 提前致謝

您可以使用負向前瞻以避免匹配匹配中的另一個-d/-n

-[dn] (?!.*?-[dn]).*$

RegEx演示

可能會貪婪 .*吃飯之前:

^.*(-[dn] .*)$

並抓住第一個捕獲組的匹配。 請參閱regex101上的測試

暫無
暫無

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

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