[英]Regex to match everything but the comment
鑒於此 PSQL 語句的 Java 正則表達式代碼,我在嘗試匹配除語句中的注釋之外的所有內容時遇到了一些問題。 這不是得到帶有注釋的行。
^(?!.*?(?:-- [a-z]*-[a-z]*: [a-zA-z]*)).*$
這是 PSQL:
CREATE TABLE "test_table" (
"user_id" serial PRIMARY KEY,
"username" VARCHAR (50) UNIQUE NOT NULL, -- foreign-key: t_supply_type
"password" VARCHAR (50) NOT NULL,
"email" VARCHAR (355) UNIQUE NOT NULL, -- foreign-key: t_supply_type
"created_on" TIMESTAMP NOT NULL,
"last_login" TIMESTAMP
);
我錯過了什么?
對於您的確切數據,一種簡單的方法是刪除所有出現的--
直到行尾。 考慮:
String line = "\"username\" VARCHAR (50) UNIQUE NOT NULL, -- foreign-key: t_supply_type";
line = line.replaceAll("\\s*--.*$", "");
System.out.println(line);
這打印:
"username" VARCHAR (50) UNIQUE NOT NULL,
假設您已經將整個 SQL 查詢讀入單個字符串,上述替換也應該仍然有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.