簡體   English   中英

正則表達式匹配除注釋之外的所有內容

[英]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.

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