Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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
Java 正则表达式Url检查_Java_Regex_Apache_Mod Rewrite - Fatal编程技术网

Java 正则表达式Url检查

Java 正则表达式Url检查,java,regex,apache,mod-rewrite,Java,Regex,Apache,Mod Rewrite,我遇到了一个简单的正则表达式问题。 我想做的是检查一个URL,看看它是否包含ajax这个词,然后看看它是否与URL匹配 比如说 给定URL localhost/ajax/image/get 应该匹配并返回localhost/ajax/image/get 但是localhost/image/get 不应该匹配 我对正则表达式有基本的了解,但还没有找到任何有用的东西 有什么建议吗?我相信这是一个很简单的案例 我用它来修改修改规则 mod重写规则是 重写规则^.?\bajax\b.$ajax.php?

我遇到了一个简单的正则表达式问题。 我想做的是检查一个URL,看看它是否包含ajax这个词,然后看看它是否与URL匹配

比如说 给定URL localhost/ajax/image/get 应该匹配并返回localhost/ajax/image/get

但是localhost/image/get 不应该匹配

我对正则表达式有基本的了解,但还没有找到任何有用的东西

有什么建议吗?我相信这是一个很简单的案例

我用它来修改修改规则

mod重写规则是 重写规则^.?\bajax\b.$ajax.php?url=$1[PT,L]

请求的URL

它重定向到ajax.php文件,但不保留url值

我还有一条规则,它是一条一般规则,如下所示 重写规则^(.*)$index.php?url=$1[PT,L]

请求的URL

当它重定向到index.php时,url get值中有/public/image/get/

怎么办

[a-z/]*ajax[a-z/]*

它可能需要一些改进,所以如果需要改进,请告诉我。

简单正则表达式。你有多个标签,所以我不太确定你的平台是什么。如果是java:

Pattern regex = Pattern.compile("^.*?\\bajax\\b.*$");
一般来说,这应该是正则表达式:

   /^.*?\bajax\b.*$/
说明:

"^" +       // Assert position at the beginning of the string
"." +       // Match any single character that is not a line break character
   "*?" +      // Between zero and unlimited times, as few times as possible, expanding as needed (lazy)
"\\b" +      // Assert position at a word boundary
"ajax" +    // Match the characters “ajax” literally
"\\b" +      // Assert position at a word boundary
"." +       // Match any single character that is not a line break character
   "*" +       // Between zero and unlimited times, as many times as possible, giving back as needed (greedy)
"$"         // Assert position at the end of the string (or before the line break at the end of the string, if any)

最后,我建议大家进一步阅读。

应该简单到:

Pattern.matches(regex, str)
所以

Pattern.matches(“ajax”,str)


其中str是传入的url字符串。

我解决了这个问题,我要找的正则表达式是 ^(.阿贾克斯)$

我一直在尝试^(ajax)$,但这没有意义


感谢您的帮助

对于这样的请求,
/ajax/
是否始终是根文件夹?不总是,只要它是URL的一部分,我认为这不会匹配,因为我认为它不会与http://部分匹配。我尝试过这个,但它失败了。xxxx://部件是否总是在那里?如果是这样,请尝试[a-z]+://[a-z.\u/-]*ajax[a-z.\u/-]*您好,感谢您的帮助,我正在尝试的这一个正则表达式,我希望它能起作用。然而,使用一个netbeans插件测试正则表达式和一个apachemod_重写URL来放置规则,两者似乎都不匹配。我有4个标签,因为我必须有4个标签来提问。我将发布我的mod_重写规则和url hitHi paul,我正在mod重写中使用它,因为我在一个netbeans插件中测试正则表达式,我需要在我将java作为标记的问题上放置4个标记。请参见上文了解更多信息notes@Paul这也将匹配blajaxbla@failedDev如果你使用“ajax”就不会了。@Paul这就是重点,你可以使用blajax。这个匹配,但它不应该匹配。@失败的dev,他改变了他的问题,在他的原始问题中没有blaajaxbla,但blaajaxbla之后没有句号,所以在本例中不会被提起。