0

「file://」で始まるすべてのハイパーリンクをカバーするjavascriptプロジェクトの正規表現を作成しようとしています。

ありがとう :)

4

4 に答える 4

0

これはこの男によって開発された非常に徹底的なバージョンです:

(?i)\b((?:file:(?:\/{2}))(?:www\d{0,3}[.]|[a-z0-9\-]+[.])?(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))

編集:明らかに、私はそれをより厳密にするためにいくつかのことを変更する必要がありました。更新しました。キャプチャグループを使用する場合は、?:を削除して、後方参照を保持します。

よりシンプルなものを使用してください、/(file:\/{2,3}[!#$&-;=?-\[\]_a-z~]+)/

于 2012-10-13T11:10:08.063 に答える
0

これを試してみてください

/ ^(file?://)?([\ da-z .-] +)。( [az。] {2,6})([/ \ w .-] /?$ /

楽しみ :)

于 2012-10-13T11:11:35.097 に答える
0
/^file\/\/:/i.test(str)
str.match(/^file\/\/:\S+/i)

プロトコル以外はチェックしません。URIは非常に複雑です。

于 2012-10-13T11:41:21.283 に答える
0

ハイパーリンクには場所のプロパティがあります-

リンクからdocument.links[0].protocolを読み取ることができます。

var links=document.links, L=links.length, filelinks=[];

while(L){
  if(links[--L].protocol=='file:')filelinks.push(links[L].href);
}

//eg:
filelinks.join('\n')


file:///C:/webworks/gallery/gallery.html
file:///C:/webworks/library/shared/dewey.html#holmes
file:///C:/webworks/library/shared/dewey.html#twain
file:///C:/webworks/library/shared/dewey.html
于 2012-10-13T13:09:33.867 に答える