Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.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_Html_Regex - Fatal编程技术网

Javascript 正则表达式限制字母表

Javascript 正则表达式限制字母表,javascript,html,regex,Javascript,Html,Regex,我有一个字符串: var str = "str is str, 12str345 and ABCstrDEF"; 我想捕获所有str,除了ABCstrDEF(str由字母字符包围) 是否可以使用正则表达式限制字母表?使用正则表达式 RegExp.quote = function(str) { return (str + '').replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1"); }; var re = new RegExp("/\b[^a-zA-Z]*?

我有一个字符串:

var str = "str is str, 12str345 and ABCstrDEF";
我想捕获所有
str
,除了
ABCstrDEF
str
由字母字符包围)

是否可以使用正则表达式限制字母表?

使用正则表达式

RegExp.quote = function(str) {
  return (str + '').replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1");
};

var re = new RegExp("/\b[^a-zA-Z]*?" + RegExp.quote(str) + "[^a-zA-Z]*?\b/g");  
alert(input.match(re));

单独使用ABCstr或strDEF怎么样?还有,你试过什么?你能具体说明一下吗?如果它是一个“单词”(不是单词的一部分):
.match(/\bstr\b/g)
,或者如果它的前面或后面没有大写字母:
.match(/(?![a-Z])(str)(?![a-Z])/g)
,或者它是要从匹配中排除的实际字母字符串,如在
AXstrZY
中可以,但是ABstrCD不是吗?我的目标是排除所有在左边或右边有字母的“str”side@user1785360-它工作正常,因为
^
[^…]
@user1785360的开头-我已经用
quote()更新了我的答案
函数,该函数应在您的
str
包含一些特殊的正则表达式字符时使用。。。