簡體   English   中英

SQL正則表達式到Java正則表達式的轉換器

[英]Converter for SQL Regular expression to Java regular expression

我正在構建一個需要將SQL正則表達式轉換為Java正則表達式的API。 此正則表達式專門用於MySQL中的REGEXP關鍵字。

我的問題是:是否有任何可用的庫或git-hub回購來實現這一目標?

SQL查詢:

SELECT company 
FROM business 
WHERE title REGEXP '^[ABCD]';

MySQL中的輸入正則表達式: ^[ABCD] Java中的輸入正則表達式: [AD]*

我在互聯網上進行了很多搜索,但找不到一個可以做到這一點。 關於如何解決這個問題的任何建議。

您為什么認為^[ABCD]應該翻譯成[AD]* https://dev.mysql.com/doc/refman/8.0/en/regexp.html#regexp-syntax^表示相同的Java, [ABCD]是可寫入以相同的方式在字符類在Java中。 [AD]在Java和MySQL正則表達式中也是合法的,並且具有相同的含義。 因此^[ABCD]的翻譯將是... ^[ABCD]

尤其是沒有人會寫出一個庫來在這兩種方言之間進行翻譯。 有關更多常規工具,請參見在不同語言語法之間轉換正則表達式的工具? RegexBuddy的免費替代品

或者,您也可以自己編寫:Java中不支持該頁面中唯一的語法是[= =] ,它要求您知道要使用哪種排序規則。 因此,您可以編寫一種方法來查找[= =]部分(使用正則表達式),然后根據所需的歸類將它們替換為完整的對等類。 並不意味着每一個模式會給每串相同的結果; 請參見https://dev.mysql.com/doc/refman/8.0/en/regexp.html上的 “正則表達式兼容性注意事項”和http://userguide.icu-project.org/上的 “與Java正則表達式的區別”。 字符串/正則表達式來解決您需要處理的問題。

暫無
暫無

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

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