首页 > 解决方案 > 正则表达式仅验证部分,即使使用 \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://

标签: regex

解决方案


\w+不采取一切。它只需要“单词字符”,即字母、数字和其他依赖于语言环境的“单词字符”注释。空格和标点符号与\w note不匹配。

您可能想要[\d.]+,它需要一个或多个重复的数字和点,或者\S+除了空格之外的所有内容。


注意:下划线_被认为是“单词字符”,所以它\w.


推荐阅读