簡體   English   中英

Java正則表達式帶有積極面貌,背后是負面展望

[英]Java regex with a positive look behind of a negative look ahead

我想從這樣的字符串的提取ou=persons,ou=(.*),dc=company,dc=org最后一個字符串立即 后面沒有昏迷(。*) 開頭 在最后一種情況下,這應該給dc=company,dc=org

看看正則表達式,這看起來是一個積極的背后(前面)負面展望。

所以我已經實現了這個正則表達式: (?<=(,(?!.*\\Q(.*)\\E))).* ,但它返回,dc=company,dc=org和昏迷。 我希望沒有昏迷的同樣的事情。 我做錯了什么?

出現逗號是因為捕獲組包含它。

你可以用(?:)使外部捕獲組無法捕獲

(?<=(?:,(?!.*\Q(.*)\E))).*

似乎我已經單獨解決了我的問題,取消了前方負面觀察周圍的捕獲組。 它給出了以下正則表達式: (?<=,(?!.*\\Q(.*)\\E)).*

它與周圍環境中捕獲組的行為相關聯,如下所示: http//www.regular-expressions.info/lookaround.htmlLookaround Is Atomic中

暫無
暫無

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

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