如何在Java中反轉正則表達式?例如,'ab。+ de'=>'ed。+ ba'。在Java中反向正則表達式
4
A
回答
4
哇。
您需要爲正則表達式構建解析器並將所有的標記/部分反轉。
在這種情況下
AB + DE是
A,B,+,d,E
和反向這是
E,d,+,B ,一個
現在想象組
((AB)(。+德))
反向是
((編+)(BA))
4
反轉幹草堆比針更容易。而且由於Matcher
需要CharSequence
而不是String
,您可以通過簡單地打包String
(請參閱Reverse a string in Java, in O(1)?的答案)以輕微的開銷執行此操作。
有了這些知識,您可以創建一個替代版本的Matcher
,它似乎可以顛倒模式,但實際上只是反轉輸入。
0
Tiago Peczenyj是正確的,這兩個反向引用,捕獲組和命名組需要處理。因爲在Java RegEx中沒有限制命名組需要按名稱反向引用的命名組,所以可以像其他捕獲組一樣通過編號反向引用命名組。
如果有人對Java解決方案感興趣,我實現了一個庫來做到這一點。 https://github.com/vsch/reverse-regex。
處理所有有效的Java正則表達式構造,並提供實用程序類來封裝模式,匹配器和輸入以進行反向搜索以處理所有需要的映射和反轉。
相關問題
- 1. 正則表達式反向
- 2. checkstyle中的反向正則表達式
- 3. 反向正則表達式在Python
- 4. Java中,正則表達式,需要轉義反斜線在正則表達式
- 5. 反向引用正則表達式Unix
- 6. 正則表達式反向引用
- 7. 正則表達式:反向引用
- 8. 簡單的反向正則表達式
- 9. MongoDB的反向正則表達式
- 10. 蒙戈反向正則表達式
- 11. MongoDB:反向正則表達式搜索?
- 12. 反向正則表達式URL檢測
- 13. Java中的正則表達式反向引用
- 14. Java - 數組中的正則表達式反向引用
- 15. 正則表達式正面看後面的正則表達式反向匹配?
- 16. 如何在正則表達式中反轉正向lookbehind(?<=)?
- 17. 反轉正則表達式
- 18. 反比正則表達式
- 19. 反正則表達式javascript
- 20. 正則表達式在Java
- 21. 正則表達式在Java
- 22. java FilenameFilter正則表達式(向前看)
- 23. Java正則表達式與反向引用的交集
- 24. java的正則表達式匹配循環反向
- 25. 正則表達式模式在Java中
- 26. Java中的正則表達式(正則表達式和語法)
- 27. Java UIMA:正則表達式中的正則表達式變量?
- 28. JavaScript:如何在正則表達式中使用(反向)?
- 29. 如何在JavaScript正則表達式中使用反向引用?
- 30. 在sed中使用反向引用正則表達式
爲什麼你需要這樣做? –
我需要這樣做來實現向後搜索。 – Michael