Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式中的国际字符检测_Javascript_Regex - Fatal编程技术网

Javascript 正则表达式中的国际字符检测

Javascript 正则表达式中的国际字符检测,javascript,regex,Javascript,Regex,这里有一个正则表达式来检测amazon上的产品页面。它适用于标准英文页面,但不适用于带有国际字符的url。因此,未检测到URL2。我该怎么做?谢谢 var URL1 = "www.amazon.com/Big-Short-Inside-Doomsday-Machine/dp/0393338827/"; var URL2 = "www.amazon.fr/Larm%C3%A9e-furieuse-Fred-Vargas/dp/2878583760/"; var regex1 = RegExp("

这里有一个正则表达式来检测amazon上的产品页面。它适用于标准英文页面,但不适用于带有国际字符的url。因此,未检测到URL2。我该怎么做?谢谢

var URL1 = "www.amazon.com/Big-Short-Inside-Doomsday-Machine/dp/0393338827/";
var URL2 = "www.amazon.fr/Larm%C3%A9e-furieuse-Fred-Vargas/dp/2878583760/";

var regex1 = RegExp("http://www.amazon.(com|co.uk|de|ca|it|fr|cn|co.jp)/([\\w-]+/)?(dp|gp/product)/(\\w+/)?(\\w{10})");
m = URL1.match(regex1);

%
不匹配
\w
,因此
Larm%C3%A9e furieuse Fred Vargas
不匹配
[\w-]+
。为什么不直接使用
[^/]+

PS-“
”匹配任何字符,因此您应该使用模式
\.
,该模式在文本中显示为
\.

RegExp("http://www\\.amazon\\.(ca|cn|co\\.(jp|uk)|com|de|fr|it)/([^/]+/)?(dp|gp/product)/(\\w+/)?(\\w{10})");

%
不匹配
\w
,因此
Larm%C3%A9e furieuse Fred Vargas
不匹配
[\w-]+
。为什么不直接使用
[^/]+

PS-“
”匹配任何字符,因此您应该使用模式
\.
,该模式在文本中显示为
\.

RegExp("http://www\\.amazon\\.(ca|cn|co\\.(jp|uk)|com|de|fr|it)/([^/]+/)?(dp|gp/product)/(\\w+/)?(\\w{10})");

嗯……我在
URL2
中没有看到任何非7位ASCII字符。。。编辑:不要紧,SO的标记解析器发生了一些奇怪的事情。由于某种原因,每次我发布URL时,URL都会更改为stackflow,您现在应该可以看到它了。@用户:奇怪的是,没有。我可以在编辑窗口中看到它,但它不会出现在编辑窗口之外。非常非常奇怪。是的,堆栈有问题,我每次编辑时都能正确地看到它,但是当我保存时解析器会更改URL。这很奇怪。我尝试更改为
pre
标记。不走运。嗯……我在
URL2
中没有看到任何非7位ASCII字符。。。编辑:不要紧,SO的标记解析器发生了一些奇怪的事情。由于某种原因,每次我发布URL时,URL都会更改为stackflow,您现在应该可以看到它了。@用户:奇怪的是,没有。我可以在编辑窗口中看到它,但它不会出现在编辑窗口之外。非常非常奇怪。是的,堆栈有问题,我每次编辑时都能正确地看到它,但是当我保存时解析器会更改URL。这很奇怪。我尝试更改为
pre
标记。不走运。