我試圖創建一個匹配markdown url的正則表達式,但忽略它前後的內容。它應該只匹配指向本地文件的本地markdown url,而忽略指向外部網站的URL。例如:正則表達式匹配本地降價鏈接
"dddd [link which should be ignore](http://google.com/) lorem ipsum lorem ips sum loreerm [link which shouldn't be ignored](../../../filepath/folder/some-other-folder/another-folder/one-last-folder/file-example.html). lorem ipsum lorem"
應該僅匹配第二鏈路。目前,它匹配一切。我的正則表達式適用於我所需要的,但這似乎是我找到的主要邊緣案例。
我有什麼至今:
/(!?\[.*?\]\((?!.*?http)(?!.*?www\.)(?!.*?#)(?!.*?\.com)(?!.*?\.net)(?!.*?\.info)(?!.*?\.org).*?\))/g
目前,這忽略了第一鏈路和第二鏈路相匹配,如果第二連桿不會在第一個鏈接後到來。否則,它會匹配從第一個到第二個的所有內容。
我正在使用JavaScript,它不支持負向lookbehinds。有什麼建議麼?
你想捕捉本地URL或只是測試(如果存在) ? –
我有一些規則來忽略網址中的「http」,「.com」等,該部分不需要對我所做的更嚴格。 https://regex101.com/r/p6W9iE/1 < 我想使這個工作,所以它的第二個鏈接只匹配 和感謝@sin,但沒有奏效 – ceckenrode
好吧,這然後'((!?\ [[^ \]] *?\])\((?????http。www。。\#| \ .com | \ .net | \ .info | \ .org。 )。)*?\))' – sln