Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.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,如何让这个字符串给出精确的匹配结果 会话[用户名或电子邮件] 表情 <html> <body> <script type="text/javascript"> var str="session[username_or_email]"; var patt1=/ID|un|name|login_username|userid|username|user|Email|uname|usr|log|email|mail|nick|CUST|account|wpNam

如何让这个字符串给出精确的匹配结果

会话[用户名或电子邮件]

表情

<html>
<body>

<script type="text/javascript">

var str="session[username_or_email]";
var patt1=/ID|un|name|login_username|userid|username|user|Email|uname|usr|log|email|mail|nick|CUST|account|wpName1|textbox|pw|session[username_or_email]/i;
document.write(str.match(patt1));

</script>

</body>
</html>

var str=“会话[用户名或电子邮件]”;
var patt1=/ID | un | name | login | u username | userid | username | user | Email | uname | usr | log | Email | mail | nick | CUST | account wpname | wpname 1 | textbox pw | session;
记录(str.match(patt1));
现在的结果是username


谢谢。

请注意,逃逸\ [我也把想要的字符串移到开头,因为它也包含用户名——这可能是也可能不是你所需要的,但是你应该考虑它。

var str="session[username_or_email]";
var patt1=/session\[username_or_email\]|ID|un|name|login_username|userid|username|user|Email|uname|usr|log|email|mail|nick|CUST|account|wpName1|textbox|pw/i;
document.write(str.match(patt1));

只需使用
\[
[
进行转义,这样它就不会被视为一个特殊的正则表达式控制字符,而只是一个要搜索的普通字符

var str="session[username_or_email]";
var patt1=/ID|un|name|login_username|userid|username|user|Email|uname|usr|log|email|mail|nick|CUST|account|wpName1|textbox|pw|session\[username_or_email]/i;
document.write(str.match(patt1));
您可以在此处看到它的工作原理:


实际上,您不必转义
]
,因为当
[
出现在它前面时,它只是一个预期的正则表达式控制字符,尽管转义它也没有坏处。

太棒了……您是Timesavor的朋友:D