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

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

捕獲期間但不是內部鏈接

捕獲期間但不是內部鏈接

鳳凰求蠱 2021-11-04 16:41:45
我已經在這個很好的網站上搜索了徹底的解決方案和可能導致解決方案的片段,但沒有結果。這是我得到的最接近的:(?!(\b[\w]+:\/\/.*?))\B\w+\.在此代碼段中Here is some sample text with a URL: http://stackoverflow.com. I would prefer to select periods outside of URLs though.,發生了以下捕獲:tackoverflow.om.hough.我只想要 URL 后面的句點和句子中的最后一個句點。我正在使用 JavaScript,所以我無法訪問負面的后視(這看起來很有用,但也許有一天我們會得到它們)。
查看完整描述

2 回答

?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

您應該能夠使用積極的前瞻來斷言在您的經期之后出現空格或 EOL。

\.(?=\s|$)

在 Regex101 上查看

  • \. 匹配文字句點

  • (?=...)是一個積極的前瞻,它將斷言在您的經期之后出現一個空格\s或 EOL $。在 URL 中永遠不會出現這種情況,這就是它起作用的原因。

如果你想減少限制,你可以用任何非字母數字字符代替空格替換你的前瞻。這是一個替代方案:

/\.(?=[^a-z0-9]|$)/igm

在 Regex101 上查看


查看完整回答
反對 回復 2021-11-04
?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

您可以使用以下表達式: ([\w]+:\/\/[^\s]+)([\.](?=\s|$))


將 url 減去句點裝飾為降價超鏈接的示例:


const expression = /([\w]+:\/\/[^\s]+)([\.](?=\s|$))/g;


const input = `http://stackoverflow.com.

In this snippet Here is some sample text with a URL: http://stackoverflow.com. I would prefer to select periods outside of URLs though.

http://stackoverflow.com`;


const output = input.replace(expression, (match, url, period) => `[${url}](${url})${period}`);


console.log(output);


查看完整回答
反對 回復 2021-11-04
  • 2 回答
  • 0 關注
  • 197 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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