亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

正則表達式:在段落中出現任何字符串列表后刪除任何單詞中的后綴字符串

正則表達式:在段落中出現任何字符串列表后刪除任何單詞中的后綴字符串

慕容3067478 2023-06-21 15:38:29
我有一個更大的字符串和一個字符串列表。我想更改較大的字符串,以便 - 對于列表中較大字符串中出現的任何字符串,刪除后綴部分直到下一個空格。更大的字符串WITH dataTab0 AS (SELECT TO_CHAR(to_date(tab_0_0.times),'YYYYMMDD')  AS TIME_ID_CATEGORYe93bc60a0041,tab_0_0.request_id AS PAGE_IMPRESSIONf6beefc4b44e4b  FROM full_contents_2列表TIME_ID_CATEGORY PAGE_IMPRESSION ...我需要刪除像 e93bc60a0041 和 f6beefc4b44e4b 這樣的后綴,它們在 TIME_ID_CATEGORY 和 PAGE_IMPRESSION 之后出現我期待以下結果。我需要在 java 中基于正則表達式/有效的解決方案來實現相同的目的。WITH dataTab0 AS (SELECT TO_CHAR(to_date(tab_0_0.times),'YYYYMMDD')  AS TIME_ID_CATEGORY,tab_0_0.request_id AS PAGE_IMPRESSION  FROM full_contents_2
查看完整描述

2 回答

?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

像這樣的事情怎么樣?本質上將 TIME_ID_CATEGORY 或 PAGE_IMPRESSION 匹配到組 1,并將其后的任何內容(即后綴)匹配為組 2。

(TIME_ID_CATEGORY|PAGE_IMPRESSION)(\w+)

正則表達式演示

然后只需將第 2 組的內容替換為空字符串即可?;蛘咧皇翘鎿Q為 Group 1,這也將消除后綴(請參見下面的代碼片段)。

示例代碼片段:

public static void main(String args[]) throws Exception {


    String line = "WITH dataTab0 AS (SELECT TO_CHAR(to_date(tab_0_0.times),'YYYYMMDD')  AS TIME_ID_CATEGORYe93bc60a0041,tab_0_0.request_id AS PAGE_IMPRESSIONf6beefc154b44e4b  FROM full_contents_2";

    Pattern p = Pattern.compile("(TIME_ID_CATEGORY|PAGE_IMPRESSION)(\\w+)");

    Matcher m = p.matcher(line);

    if (m.find()) {

        String output = m.replaceAll("$1");

        System.out.println(output);

        //WITH dataTab0 AS (SELECT TO_CHAR(to_date(tab_0_0.times),'YYYYMMDD')  AS TIME_ID_CATEGORY,tab_0_0.request_id AS PAGE_IMPRESSION  FROM full_contents_2


    }


}


查看完整回答
反對 回復 2023-06-21
?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

我的猜測是,也許是一個簡單的表達,

[a-f0-9]{14}

如果我們只有那些 14 長度的子字符串,則替換為空字符串可能實際上在這里起作用。

查看完整回答
反對 回復 2023-06-21
  • 2 回答
  • 0 關注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號