說我有這個字串:
["teads.tv, 15429, reseller, 15a9c44f6d26cbe1 ","video.unrulymedia.com,367782854,reseller","google.com, pub-8173359565788166, direct, f08c47fec0942fa0","google.com, pub-8804303781641925, reseller, f08c47fec0942fa0 "]
我試圖提取所有文本字串,如teads.tv、google.com 等。每個文本字串都按以下方式放置“ text.text ,,但也有“的組合,中間沒有任何字符。
我試過這個正則運算式:
"(.*?)\,
但我也捕獲了空組合,你可以在這里查看。
如何修改 Regex 運算式,使其僅捕獲 ",?
干杯,
uj5u.com熱心網友回復:
如果應該至少存在一個非空白字符," , [ ]您可以匹配可選的空白字符并使用否定字符類列出所有不應匹配的字符并重復 1 次或多次。
"(\s*[^\][\s",] ),
正則運算式演示
更廣泛的變化是對除逗號以外的任何字符重復 1 次:
"([^,] ),
正則運算式演示
uj5u.com熱心網友回復:
如何使用 (一個或多個)而不是*(零個或多個)作為量詞:
"(. ?),
此外,您可能不需要,使用反斜杠進行轉義。
uj5u.com熱心網友回復:
將問題解讀為使用點號(例如域名)檢索字串意味著我們正在查找 .a 之后的第一個字串"。此字串將抓取其中包含點的字串,但避免使用引號字符。
const regEx = /(?:\")([\w\d\.\-] )/g;
const input = '["teads.tv, 15429, reseller, 15a9c44f6d26cbe1 ","video.unrulymedia.com,367782854,reseller","google.com, pub-8173359565788166, direct, f08c47fec0942fa0","google.com, pub-8804303781641925, reseller, f08c47fec0942fa0 "]';
const regMatch = Array.from(input.matchAll(regEx), m => m[1]);
console.log(regMatch)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/346605.html
