請問js如何用正則做到條件替換
` <img src="www.baidu.com" data-src="任意值" data-uuid="任意值"> <a href="www.baidu.com"> www.baidu.com`.replace(/\ssrc=".*?"/, ' src="www.google.com"')更新:` <img src="www.BING.com"> <img style="" src="www.baidu.com" data-src="任意值" data-uuid="任意值" style="任意值"> <a href="www.baidu.com"> www.baidu.com`.replace(/(?<=<img.*?\ssrc=")www\.baidu\.com/, 'www.google.com')用到的知識就是僅僅是正則而已,但是正則水很深,知識點很多
js正則問題
/\([^\(]*?%.*?\)/'阿里巴巴(1%00)哈((深圳))哈哈(深圳)公司((深%圳))很好(100%)'.replace(/\([^\(]*?%.*?\)/g, '') // 阿里巴巴哈((深圳))哈哈(深圳)公司()很好
不會正則啊,幫忙寫個正則
第一個: ^-?\d* :開頭是必須輸入 “-” 或者省略;后面輸入的必須是數字,輸入的數字的 “個數” 可以是,0個,1個 或者任意個; 注意 這個什么內容都不輸入也是可以通過正則驗證的;第二個: ^-?\d{1,} :開頭是必須輸入 “-” 或者省略;后面輸入的必須是數字,并且 輸入的數字的 “個數” 必須 大于等于1 ; 第三個: 寫代碼,免不了和正則打交道,建議你根據上面的內容自己修改驗證一下效果;并希望你能系統學習一下
如何使用正則如何替換呢?
'##應付金額##'.replace(/##.*##/,'##100##')效果
GO 正則 為什么只替換一次?
你的正則表達式在元字符后面加個?,改為懶惰模式就可以都匹配到了。表達式改為 <(.*?)>
正則問題求助
str1 = "小米;Redmi 6.2,Xiaomi 6.2,Redmi 7.5|華為;Mate 40 pro,P40,Mate 30"str2 = "小米;Redmi 6,Xiaomi 6,Redmi 7.0"str1.match(/([^|]+?)(?=;)/g);str2.match(/([^|]+?)(?=;)/g);
記事本中的正則/遞歸查找/替換++
你可以用 \d{4}(?=[[:alpha:]]\w*=)\d{4}(?=[^\W\d]\w*=) 請看regex演示。 模式匹配 \d{4}-四位數字 (?=[[:alpha:]]\w*=)-緊跟著一個字母,然后任何零個或多個單詞字符緊跟著當前位置右側的=字符。 (?=[^\W\d]\w*=)-緊跟在字母或下劃線后面,然后是任何零個或多個單詞字符,緊跟在當前位置右側的=字符后面。 在記事本++中,如果要刪除行開頭的匹配項并在其他任何地方替換為空格,可以使用 ^(\d{4}(?=[[:alpha:]]\w*=))|(?1) 并替換為(?1: )。如果上面解釋的模式\d{4}(?=[[:alpha:]]\w*=)位于一行(^)的開頭,則將其匹配并捕獲到組1中,并且僅在其他任何地方匹配((?1)遞歸組1模式,以免重復)。(?1: )替換意味著如果組1匹配,我們用空字符串替換,否則,我們用空格替換。 請參見演示屏幕截圖:
一個正則看不懂
那說明你查的地方不對(笑) https://developer.mozilla.org...可見 match 有三種返回情況,匹配不到時為 null,匹配到時為數組,且根據正則是否帶 g 標志,還有不同 但唯獨不會只返回一個字符串…… 對于你手上的正則,沒有 g 標志,則返回數組中,0 代表字符串中匹配到的全部,1 代表第一個匹配組。 那匹配組是什么,注意到 /callback=([^&]+)/ 中, / 是正則開始和結束的標志; callback= 是普通的匹配字符串 () 包裹的就是匹配組,意思是說告訴 match 要把這一段單獨截取出來,返回時放到你面前 [^&] 由 [] 包裹。比如 [abc] 的意思是,這個地方匹配單個的 a 或 b 或 c 都可以。加上一個 ^ 就是否定,我不信教程里沒有。綜上 [^&] 就是說這里除了 & 字符,都能匹配。 + 意思是前面那個玩意,就是 [^&],得出現至少一次才行。所以這個正則就是負責把 http://127.0.0.1:3000/api?callback=foo 里面 callback 參數的值拿出來。其實我說了這么多廢話不頂什么用,假如你百度一下 正則可視化網站,隨手點進 https://www.v2ex.com/t/291366,會發現很多好東西哦
概念正則與概念半正則
根據概念約束模板本質上就是聲明模板將自由使用概念所需的任何表達式。如果您正在編寫一個模板,根據所實現的算法的性質,不需要進行相等性測試,那么僅僅根據您不想使用的表達式的生存能力從模板中排除一個類型是沒有意義的。 邏輯上并不是所有類型的測試都有相等的概念。沒關系。但是在許多地方,除了等式測試之外,規則性工具是有用的。因此,除了測試相等性之外,還有一個在所有方面都規則的類型的概念。 regular是“派生自”(包含在C++-speak)semiregular中。regular被顯式定義為semiregular和equality_comparable。
請問正則可以做到這樣嗎
const THRESHOLD = 3;let source = ` 127.0.0.1 127.0.0.2 127.0.0.2 127.0.0.3 127.0.0.1 127.0.0.1 127.0.0.1 127.0.0.3 127.0.0.1 127.0.0.4 127.0.0.4 127.0.0.4`;let results = source .split('\n') // 按換行符分割 .map(e => e.trim()) // 過濾每行首尾空白符 .filter(e => !!e) // 過濾空白行 .reduce(function () { // 只保留次數大于等于 `THRESHOLD` 的行 const temp = {}; return function (acc, cur, idx, src) { if (temp[cur]) { temp[cur]++; } else { temp[cur] = 1; } if (idx === src.length - 1) { return Object.keys(temp).filter((k) => temp[k] >= THRESHOLD).sort(); } } }(), 0);console.log(results);
javascript 如何把 正則字符串 轉為為正則對象?
1、eval`/a.*?b//a(.*?)c/gim`.split(/\n/g).filter(item => !!item.trim()).map(item => { item = item.trim() return eval(item)})2、new RegExp`/a.*?b//a(.*?)c/gim`.split(/\n/g).filter(item => !!item.trim()).map(item => { item = item.trim() let str = item.replace(/^\/(.*)\/([a-z]*)$/, '$1') let args = item.replace(/^\/(.*)\/([a-z]*)$/, '$2') return new RegExp(str, args)})
求問一個正則匹配替換
'/Public/Uploads/202009/5f561c297f2ab.jpg'.replace(/\/Public\/Uploads(\/\d+)?(\/.+\.\w+)+/, ($1, $2, $3) => { return `域名${$3}`})// => '域名/5f561c297f2ab.jpg'
一個關于正則的問題
$1改成\1試試
關于正則的問題
str.replace(new RegExp("<!--\\[endif\\]-->","gm"), '')
正則模式“\{\{*Tag*\}”不能替換xml字符串
我猜有兩個問題。 您沒有匹配“在{{之后的任何字符”。它應該是.*,而不是* 我認為你不匹配multi-line。您還需要為newline指定匹配:(.|\n)*而不是.* 為您提供正則表達式字符串: \{\{(.|\n)*CreateDate(.|\n)*\}\} 您可以通過設置RegexOptions.Multline來使用更簡單的正則表達式\{\{.*CreateDate.*\}\}