regex - 跳过结束句点的 URL 正则表达式
问题描述
我正在尝试创建一个与普通文本中的 url 字符串匹配的正则表达式。我有这个:
http[s]?://[^\s]+
这似乎工作得很好,但如果 url 位于句子的末尾,它也会抓住句号。例如对于这个字符串:
我正在输入一些带有 url http://something.com/something-?args=someargs的文本。这是另一句话。
它匹配:
http://something.com/some-thing?args=someargs。
我希望它匹配:
http://something.com/some-thing?args=someargs
显然我不能排除句点,因为它们以前在 url 中,但我不知道如何告诉它排除最后一个句点(如果有的话)。我可能会对行尾或空格使用负前瞻,但如果它位于行的中间(后面没有句点),则会忽略 url 的最后一个字符。
我在网上看到的大多数都有相同的问题,它们与结束点匹配,所以也许不可能?我知道基本的正则表达式,但肯定不是天才,所以如果有人有解决方案,我将非常感激:)。
另外,如果需要,我可以在这种情况下进行一些后期处理以删除点,似乎应该有一个正则表达式解决方案......
解决方案
试试这个
http[s]?://[^\s]+[^. ]
推荐阅读
- typescript - 打字稿只采用接口中定义的属性
- sql - Oracle SQL 显示标志状态为 Y / null
- javascript - 你好问题模态窗口我想在单击图像时插入正确的图像但它总是返回相同的图像有什么解决方案?
- reactjs - 登录后重定向到另一个页面
- razor - 403 禁止未重定向到 ASP MVC 5 - Razor 视图自定义
对于 IIS8 - java - 使用 Big O(n log n) 或 Big O(log n) 复杂度的 Java 程序
- git - Github 远程:未找到存储库。致命:在 Pycharm 中找不到存储库“https://github.com/org/repo.git/”
- c# - 无法将数据保存到 Db 中,因为 Identity Insert 设置为关闭
- php - 用于从多个表中选择多个列进行显示的 SQL 查询
- ruby-on-rails-3 - 无法在 M1 Macbook Pro 中安装“therubyracer v0.12.3”gem