regex - 正则表达式仅验证部分,即使使用 \w
问题描述
我正在查看其他人的代码,并且缺少一些细节,说明它为什么不起作用。
Xrm.Page.context.getClientUrl().match(/http:\/\/\w+/) + ":5556/" + Xrm.Page.context.getOrgUniqueName() + "/REST/";
它只提供部分 IP 地址,其余工作。
http//:789.789.789.123
变成
http//:123:5556/UniqueName/REST/
\w+
应该在 http:// 之后获取所有内容。我看过的那些验证使用 /http://
解决方案
\w+
不采取一切。它只需要“单词字符”,即字母、数字和其他依赖于语言环境的“单词字符”注释。空格和标点符号与\w
note不匹配。
您可能想要[\d.]+
,它需要一个或多个重复的数字和点,或者\S+
除了空格之外的所有内容。
注意:下划线_
被认为是“单词字符”,所以它会被\w
.
推荐阅读
- c - 在 STM32f103 上的 PWM 定时器比较匹配时无法获得中断
- javascript - javascript按钮事件剂量正常工作
- google-sheets - 数组公式以及如何使用 COUNTIF 和 IF 语句对其进行格式化
- java - 如何知道这个 while 循环是 O(n) 还是 O(1)?
- c++ - 包含同一类成员的类
- c# - SSMS 的 VSIX 扩展 - 如何将菜单项添加到结果网格中的上下文菜单?
- authentication - 试图用相同的用户名登录一个人
- java - 在 SQL Server 和链接服务器之间比较表中的数据
- java - 从 HttpUrlConnect::URL 将二进制图像数据从 URL 读取到 ByteArrayInputStream
- algorithm - 我可以将任何递归代码转换为递归关系吗?