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

Javascript 如何正则表达式匹配和不匹配';不匹配子串

Javascript 如何正则表达式匹配和不匹配';不匹配子串,javascript,php,regex,match,Javascript,Php,Regex,Match,如果匹配和不匹配子字符串,如何组合正则表达式 例: 我想获取包含“user.php”和“member.php”的url,但如果包含“context” 要匹配包含“user.php”和“member.php”的url,我可以使用: (user\.php|user\.php) 如果不包含“上下文”: 如何组合(user\.php | user\.php)和^((?!context)。*$ 我的结果应该是: http://www.domain.com/user.php?query=blah http

如果匹配和不匹配子字符串,如何组合正则表达式

例:

我想获取包含
“user.php”
“member.php”
的url,但如果包含
“context”

要匹配包含“user.php”和“member.php”的url,我可以使用:

(user\.php|user\.php)
如果不包含“上下文”:

如何组合
(user\.php | user\.php)
^((?!context)。*$

我的结果应该是:

http://www.domain.com/user.php?query=blah
http://www.domain.com/member.php?query=blah
感谢您的帮助……

使用此模式
^(?=.*(:用户|成员))(?!.*上下文)。*$

让它:

^(?=.*\/(?:user|member)\b\.php)(?!.*context).*$

使用此模式
^(?=.*(:用户|成员))(?!.*上下文)。*$

让它:

^(?=.*\/(?:user|member)\b\.php)(?!.*context).*$

使用此模式
^(?=.*(:用户|成员))(?!.*上下文)。*$

让它:

^(?=.*\/(?:user|member)\b\.php)(?!.*context).*$

使用此模式
^(?=.*(:用户|成员))(?!.*上下文)。*$

让它:

^(?=.*\/(?:user|member)\b\.php)(?!.*context).*$

你可以试试这个。看演示

你可以试试这个。看演示

你可以试试这个。看演示

你可以试试这个。看演示

您可以使用来执行此操作

^(?!.*context).*\b(?:user|member)\.php.*$

您可以使用来执行此操作

^(?!.*context).*\b(?:user|member)\.php.*$

您可以使用来执行此操作

^(?!.*context).*\b(?:user|member)\.php.*$

您可以使用来执行此操作

^(?!.*context).*\b(?:user|member)\.php.*$

@rudita但这将匹配包含
用户的url
,更准确地说,它将只匹配类似的名称,如
xyzuser
成员资格
,并且不需要匹配
.php
扩展名。这里,对于挑剔的
^(?=.\/(?:user| member)\b\.php)(?!*context).*$
您的原始答案可能有效,因为OP没有在包含
user
member
的字符串上使用它,这些字符串不属于域后面的文件名(
user.php
member.php
)。
上下文
中仍然存在相同的漏洞。根据示例判断,您可能应该查找
(?!.[&]context=)
,您只需要在文件名之后查找它。但是你修改后的答案与问题相符,所以我删除了我的否决票。@rudita但是这将匹配包含
用户的url更准确地说,它将匹配类似的名称,如
xyzuser
成员资格
,并且不需要匹配
.php
扩展名。这里,对于挑剔的
^(?=)*\/(?:user | member)\b\.php)(?!*context)。*$
您的原始答案可能有效,因为OP没有在包含
user
member
但不属于文件名的字符串上使用它(
user.php
member.php
)域之后。同样的漏洞仍然存在于
上下文中。从示例判断,您可能应该查找
(?!.[&]context=)
,您只需在文件名后查找它。但是您修改后的答案与问题相符,因此我删除了我的否决票。@Rudita但这将匹配包含
用户的url
,更准确地说,它将只匹配类似的名称,如
xyzuser
成员资格
,并且不需要匹配
.php
extension.here,对于挑剔者
^(?=.*\/(?:user | member)\b\.php)(?!.*上下文)。*$
您的原始答案可能有效,因为OP没有在包含
user
member
但不属于文件名的字符串(
user.php
member.php
)上使用它域之后。同样的漏洞仍然存在于
上下文中。从示例判断,您可能应该查找
(?!.[&]context=)
,您只需在文件名后查找它。但是您修改后的答案与问题相符,因此我删除了我的否决票。@Rudita但这将匹配包含
用户的url
,更准确地说,它将只匹配类似的名称,如
xyzuser
成员资格
,并且不需要匹配
.php
extension.here,对于挑剔者
^(?=.*\/(?:user | member)\b\.php)(?!.*上下文)。*$
您的原始答案可能有效,因为OP没有在包含
user
member
但不属于文件名的字符串(
user.php
member.php
)上使用它域之后。同样的漏洞仍然存在于
context
中。根据示例判断,您可能应该查找
(?!.[&]context=)
,您只需要在文件名之后查找它。但是您修改后的答案与问题相符,因此我删除了我的否决票。